@@ -285,7 +285,7 @@ packages with `ghci` or `cabal v2-build` (but not Stack).
287shellFor =
287shellFor =
288− { packages, withHoogle ? true, ...}: ...
288+ { packages, withHoogle ? true, exactDeps ? false, ...}: ...
@@ -293,16 +293,18 @@ shellFor =
293|----------------|------|---------------------|
293|----------------|------|---------------------|
294| `packages` | Function | Package selection function. It takes a list of [Haskell packages](#haskell-package) and returns a subset of these packages. |
294| `packages` | Function | Package selection function. It takes a list of [Haskell packages](#haskell-package) and returns a subset of these packages. |
295| `withHoogle` | Boolean | Whether to build a Hoogle documentation index and provide the `hoogle` command. |
295| `withHoogle` | Boolean | Whether to build a Hoogle documentation index and provide the `hoogle` command. |
296+| `exactDeps` | Boolean | Prevents the Cabal solver from choosing any package dependency other than what are in the package set. |
296| `{ ... }` | Attrset | All the other arguments are passed to [`mkDerivation`](https://nixos.org/nixpkgs/manual/#sec-using-stdenv). |
297| `{ ... }` | Attrset | All the other arguments are passed to [`mkDerivation`](https://nixos.org/nixpkgs/manual/#sec-using-stdenv). |
298**Return value**: a derivation
299**Return value**: a derivation
300!!! warning
301!!! warning
302− `shellFor` will set the `CABAL_CONFIG` environment variable to disable
303+ `exactDeps = true` will set the `CABAL_CONFIG` environment variable
303− remote package servers. This is a [known
304+ to disable remote package servers. This is a
304− limitation](../dev/removing-with-package-wrapper.md) which we would
305+ [known limitation](../dev/removing-with-package-wrapper.md)
305− like to solve.
306+ which we would like to solve. Use `exactDeps = false` if this is a
308## ghcWithPackages
310## ghcWithPackages