3 ms·
I hear NixOS (linux distro based on functional principles) solves the package management problem for Haskell. * https://ocharles.org.uk/blog/posts/2014-02-04-h
by avindroth 10y ago
I hear NixOS (linux distro based on functional principles) solves the package management problem for Haskell.
* https://ocharles.org.uk/blog/posts/2014-02-04-how-i-develop-with-nixos.html https://ocharles.org.uk/blog/posts/2014-02-04-how-i-develop-...
* https://www.reddit.com/r/haskell/comments/1vghgw/nixos_a_gnulinux_distribution_based_on_purely https://www.reddit.com/r/haskell/comments/1vghgw/nixos_a_gnu...
* https://nixos.org/~eelco/pubs/nixos-jfp-final.pdf https://nixos.org/~eelco/pubs/nixos-jfp-final.pdf
* http://fuuzetsu.co.uk/blog/posts/2014-06-28-My-experience-with-NixOS.html http://fuuzetsu.co.uk/blog/posts/2014-06-28-My-experience-wi...
- taylorfausak 10y agoNix (and NixOS) are certainly nice to use with Haskell, but Stack is good. The post even says so: > Stackage solved the consistent set of packages, and Stack made it even easier. I now consider Haskell package management a strength for large projects, not a risk.
- exDM69 10y agoFYI, it's possible to use Nix package manager outside of NixOS. I'm not quite convinced that some of the choices the NixOS distro has made are good (or to my liking) but the package manager seems much better thought out. I was able to quickly install Nix on a not quite up-to-date Linux distro to get my hands on specific versions of some programs that are too big to conveniently build from source. I'm not sure it solves the package management problem for Haskell completely, but it should help managing GHC versions and external dependencies (ie. native libs required by Haskell libs), which cabal/stack aren't great with. Note: I was a bit disappointed that installing Nix required root access to create /nix store. I would have liked to put it in my home directory instead.
- vertex-four 10y agoUnfortunately, because Nix derivations embed full paths to all their dependencies, moving /nix elsewhere means you don't get access to the binary cache and wind up having to build everything from source. If you're happy with that, you can compile Nix manually to put the store in your home directory: https://nixos.org/wiki/How_to_install_nix_in_home_%28on_another_distribution%29#Manual_Installation https://nixos.org/wiki/How_to_install_nix_in_home_%28on_anot...