You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|`packages`| Function | Package selection function. It takes a list of [Haskell packages](#haskell-package) and returns a subset of these packages. |
435
435
|`components`| Function | Similar to `packages`, by default all the components of the selected packages are selected. |
436
436
|`additional`| Function | Similar to `packages`, but the selected packages are built and included in `ghc-pkg list` (not just their dependencies). |
437
437
|`withHoogle`| Boolean | Whether to build a Hoogle documentation index and provide the `hoogle` command. |
438
438
|`exactDeps`| Boolean | Prevents the Cabal solver from choosing any package dependency other than what are in the package set. |
439
+
|`allToolDeps`| Boolean | Indicates if the shell should include all the tool dependencies of the haskell packages in the project. |
439
440
|`tools`| Function | AttrSet of tools to make available e.g. `{ cabal = "3.2.0.0"; }` or `{ cabal = { version = "3.2.0.0"; }; }`. If an AttrSet is provided for a tool, the additional arguments will be passed to the function creating the derivation for that tool. So you can provide an `index-state` or a `materialized` argument like that `{ cabal = { version = "3.2.0.0"; index-state = "2020-10-30T00:00:00Z"; materialized = ./cabal.materialized; }; }` for example. You can specify and materialize the version of hoogle used to construct the hoogle index by including something like `{ hoogle = { version = "5.0.17.15"; index-state = "2020-05-31T00:00:00Z"; materialized = ./hoogle.materialized; }`. Uses a default version of hoogle if omitted. |
440
-
| `inputsFrom` | List | List of other shells to include in this one. The `buildInputs` and `nativeBuildInputs` of each will be included using [mkShell](https://nixos.org/manual/nixpkgs/stable/#sec-pkgs-mkShell).
441
+
| `packageSetupDeps` | Boolean | Set this to `false` to exclude custom-setup dependencies.
442
+
|`enableDWARF`| Boolean | Include debug info |
441
443
|`crossPlatforms`| Function | Platform selection function for cross compilation targets to support eg. `ps: with ps; [ghcjs mingwW64]` (see nixpkgs lib.systems.examples for list of platform names). |
442
-
|`{ ... }`| Attrset | All the other arguments are passed to [`mkDerivation`](https://nixos.org/nixpkgs/manual/#sec-using-stdenv). |
444
+
| `inputsFrom` | List | List of other shells to include in this one. The `buildInputs` and `nativeBuildInputs` of each will be included using [mkShell](https://nixos.org/manual/nixpkgs/stable/#sec-pkgs-mkShell).
445
+
|`shellHook`| String | Bash statements that are executed when the shell starts. |
446
+
|`buildInputs`|| Passed to [`mkDerivation`](https://nixos.org/nixpkgs/manual/#sec-using-stdenv) (via [mkShell](https://nixos.org/manual/nixpkgs/stable/#sec-pkgs-mkShell)). |
447
+
|`nativeBuildInputs`|| Passed to [`mkDerivation`](https://nixos.org/nixpkgs/manual/#sec-using-stdenv) (via [mkShell](https://nixos.org/manual/nixpkgs/stable/#sec-pkgs-mkShell)). |
448
+
|`passthru`|| Passed to [`mkDerivation`](https://nixos.org/nixpkgs/manual/#sec-using-stdenv) (via [mkShell](https://nixos.org/manual/nixpkgs/stable/#sec-pkgs-mkShell)). |
449
+
450
+
The arguments are checked using the module `modules/shell.nix`.
451
+
452
+
To set environment variables in the shell use:
453
+
454
+
```
455
+
shellHook = ''
456
+
export FOO="bar"
457
+
'';
458
+
```
459
+
460
+
or
461
+
462
+
```
463
+
(p.shellFor {}).overrideAttrs {
464
+
FOO = "bar";
465
+
}
466
+
```
467
+
468
+
The `shellFor` arguments can also be passed to the project `shell`
0 commit comments