-
Notifications
You must be signed in to change notification settings - Fork 722
Description
(I couldn't find an issue for this as a high-level thing, so I thought it was worth having one.)
There are a lot of awesome new features in Cabal v3, and I and many others are excited to use them.
However, I'm also a member of another group of users: those who make heavy use of Nix. For a number of reasons, Nix is very popular amongst the Haskell community, and nixpkgs
builds a huge number of Haskell packages. And many of the industrial users are quite tightly wedded to it - for things like cross-compilation there are few compelling alternatives.
Now, most people using Nix to build Haskell packages do use Cabal. nixpkgs
uses the lower-level Setup.hs
machinery, but of course that still depends heavily on Cabal as a library.
So it would be great if Cabal v3 was awesome for Nix users too! I don't think this should be too hard - it mostly just means remembering it as a use case and a few key things like:
- Nix wants to be able to handle providing dependencies. Historically providing a populated package db has worked well for this.
- Nix builds happen in sandboxes that restrict things like network access, external folder access, etc.
Here are some existing issues that I think are relevant to Nix users: