nix-tools is a set of Haskell → Nix tools to integrate Haskell
projects into Nix build environments.
Why (yet) another conversion to Nix? cabal2nix has served the Nix
community well for a long time. It does have short comings that can’t
be easily overcome without significantly altering cabal2nix. These
are among others:
- hard coded flags / operating system upon invocation
- package resolution in cabal2nix instead of nix.
Ideally we’d convert cabal files into Nix expression and retain almost everything from the cabal file and let Nix deal with the expression afterwards.
nix-tools explores this space of a very simple .cabal conversion
into a nix expression and then doing the lifting in Nix.
View the haskell.nix documentation for instructions on how to get started with your own project.
To build all of the nix-tools using Cabal:
cabal new-build
Under the haskell.nix umbrella there are a few GitHub Projects for tracking completion of the project goals. If you would like to follow or contribute to this effort then that would be a good place to start.
Please open bug reports in the Haskell.nix issue tracker.