In the past hydra didn't give good feedback on eval time errors. Deferring the errors was a way to get them into a build log (instead of the eval log that would get overwritten with the next eval). I'm not sure how well this actually worked since it is super easy to introduce an eval time dependency on a broken project. For instance if you try to enumerate the components in a project haskell that failed to configure the error would be forced (in some cases a more cryptic one). Now that hydra is better at reporting eval errors I think we should try to fail fast again.
haskell.nix is infrastructure for building Haskell packages with Nix
haskell.nix can automatically translate your Cabal or Stack project and
its dependencies into Nix code.
Documentation
- Introduction
- Getting Started
- Troubleshooting
- Explore the documentation from there to find further topics.
Help! Something isn't working
The #1 problem that people have when using haskell.nix is that they find themselves building GHC.
This should not happen, but you must follow the haskell.nix setup instructions properly to avoid it.
If you find this happening to you, please check that you have followed the
getting started instructions and
consult the corresponding troubleshooting section.
The troubleshooting documentation also contains some help for other common issues. Please give it a read before asking on IRC or opening an issue.
If you're still stuck, join the #haskell.nix channel on irc.libera.chat, or open an issue.
Related repos
The haskell.nix repository contains the runtime system for building
Haskell packages in Nix. It depends on other repos, which are:
-
nix-tools— provides the programs for generating Nix expressions from Haskell projects. -
hackage.nix— the latest contents of the Hackage databases, converted to Nix expressions. -
stackage.nix— all of the Stackage snapshots, converted to Nix expressions.