Add option to manually specify package set overlays instead of providing settings option #349
eldritch-cookie
started this conversation in
Ideas
Replies: 1 comment
-
You can use haskell-flake/nix/modules/project/default.nix Lines 71 to 81 in b3511b3 PR welcome on documentation! |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
The Problem
I commonly want to develop my projects with the latest ghc version, this means that i need to apply fixes for many packages while i wait for the fixes i upstreamed to land. However this is extremely painful to do currently with haskell-flake.
There are various issues which contribute to this. The settings option is really underdocumented so whenever i need to apply a fix i am forced to go to the haskell flake source code at nix/modules/settings/all.nix, this also means that i also NEED to already know how to apply the desired fix via the functions on
pkgs.haskell.lib
. Even worse if i need a version change or anything uncommon i am forced to use thecustom
attribute, which means that i need to rewrite all my extra fixes to be in the overlay version to guarantee they aren't discarded.additionally having 2 different methods of applying fixes means that i when want to upstream mine i have to convert everything to be nixpkgs compatible which may be like a minute per package but that means almost 2 hours if have 100 packages, which isn't uncommon when i first upgrade to a new ghc version.
Proposed solution
Instead of having a settings option which reimplements everything on
pkgs/development/haskell-modules/lib/compose.nix
just give an option where the user provides a haskell package set overlay, the ergonomics then are equivalent to nixpkgs and no duplication is necessary.Beta Was this translation helpful? Give feedback.
All reactions