-
Notifications
You must be signed in to change notification settings - Fork 26
Description
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 the custom 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.