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
Uh oh!
There was an error while loading. Please reload this page.
-
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