This takes advantage of some newer features (e.g., source-repository-package can now list multiple subdirs) and makes some other improvements.
There is unfortunately still a lot of duplication. Cabal 3.8 supports multiple public libraries in a package, which can help a bit, but cabal2nix doesn’t yet handle that (NixOS/cabal2nix#448). Alternatively, something like hpack-dhall would help a lot, but in general, I’ve tried to avoid any preprocessing in order to get Cabal to build things outside of Nix.
It’s probably easiest to review this PR commit-by-commit.
This takes advantage of some newer features (e.g.,
source-repository-package
can now list multiple subdirs) and makes some other improvements.There is unfortunately still a lot of duplication. Cabal 3.8 supports multiple public libraries in a package, which can help a bit, but
cabal2nix
doesn’t yet handle that (NixOS/cabal2nix#448). Alternatively, something like hpack-dhall would help a lot, but in general, I’ve tried to avoid any preprocessing in order to get Cabal to build things outside of Nix.It’s probably easiest to review this PR commit-by-commit.