diff --git a/nix/README.md b/nix/README.md index 84f84df9a..820c99f5d 100644 --- a/nix/README.md +++ b/nix/README.md @@ -38,7 +38,9 @@ nix-shell ``` -Within `nix-shell`, you can run Cabal commands as usual. +Within `nix-shell`, you can run Cabal commands as usual. You can also run +stack with the `--nix` option, which causes stack to pick up the non-Haskell +dependencies from the same pinned Nixpkgs version that the Nix builds use. ## Tour diff --git a/shell.nix b/shell.nix index 69bca8533..c5989dd03 100644 --- a/shell.nix +++ b/shell.nix @@ -4,9 +4,17 @@ pkgs.lib.overrideDerivation env ( buildInputs = base.buildInputs ++ [ pkgs.cabal-install + pkgs.stack pkgs.cabal2nix pkgs.postgresql nixpkgsUpgrade ]; + + shellHook = + '' + # Set our pinned version of Nixpkgs in the NIX_PATH so that + # `stack --nix` also uses that version. + NIX_PATH="nixpkgs=${pinnedPkgs}" + ''; } )