aleeusgr / nix-things

a toolbox
1 stars 0 forks source link

a deterministic Haskell development environment using Nix #4

Closed aleeusgr closed 1 year ago

aleeusgr commented 1 year ago

https://cah6.github.io/technology/nix-haskell-1/

Design choice: instead of specifying ghc version in nix file, pin version of nixpkgs that has the desired version by default.

In my opinion, a better way is to pick a Nix channel that has whatever GHC you want in the default haskellPackages, since it will come with a set of packages that will work well together and not require that you build so much yourself. In this case, nixos-18.09 has GHC 8.4.3 as the default, so we could use it instead by running:

Q: how to see which packages belong to the pinned version of nixpkgs?

If you want to see which haskell packages are pinned for that commit, you can go to hackage-packages.nix for that “rev”. So for the JSON above, that file would be this link. Then you can either CTRL+F there or download that file and search locally to see which version of a given dependency is pinned.

aleeusgr commented 1 year ago

compare to: https://github.com/input-output-hk/plutus-starter/