5 ms·
Actually nix is a pretty awesome package manager for haskell. All my projects now have a default.nix and a shell.nix and I have this little snippet in emacs:
by boothead 12y ago
Actually nix is a pretty awesome package manager for haskell. All my projects now have a default.nix and a shell.nix and I have this little snippet in emacs:
(setq haskell-process-type 'ghci
haskell-process-path-ghci "/home/ben/.nix-profile/bin/nix-shell"
haskell-process-args-ghci '("-I" "." "shell.nix" "--pure" "--command" "cabal configure; cabal repl"))
This drops you into a nix shell with all the dependencies for the project you're working on present.
You can also (especially easy if you're using projectile) run compile with the command nix-shell -I . shell.nix --command "cabal configure; cabal build" and that give you a nice list of type errors in your current project.
Repeatable builds with no cabal hell. In the words of disney: "I'm never going back, the past is in the past!"
- codygman 12y agoThis is awesome! I have nix setup but need to fix some efi boot stuff :/ As soon as I do though, I'll be stealing this emacs snippet and Haskell/Nix development technique.