Skip to content

Make Cabal v3 Nix-friendly #5858

@michaelpj

Description

@michaelpj

(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:

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions