- New features
- #63: Add
config.haskellProjects.${name}.outputs
containing all flake outputs for that project.- #102 In addition,
outputs
containsfinalPackages
andlocalPackages
.
- #102 In addition,
- #49 & #91: The
packages
option now autodiscovers the top-level.cabal
file (in addition to looking inside sub-directories) as its default value. - #69: The default flake template creates
flake.nix
only, while the#example
one creates the full Haskell project template. - #92: Add
devShell.mkShellArgs
to pass custom arguments tomkShell
- #100:
source-overrides
option now supports specifying Hackage versions.
- #63: Add
- API changes
- #37: Group
buildTools
(renamed totools
),hlsCheck
andhlintCheck
under thedevShell
submodule option; and allow disabling them all usingdevShell.enable = false;
(useful if you want haskell-flake to produce just the package outputs). - #64: Remove hlintCheck (use treefmt-nix instead)
- #52: Expose the final package set as
finalPackages
. RenamehaskellPackages
, accordingly, tobasePackages
. Overlays are applied on top ofbasePackage
-- usingsource-overrides
,overrides
,packages
in that order -- to producefinalPackages
. - #68: You can now use
imports
inside ofhaskellProjects.<name>
to modularize your Haskell project configuration.- #79:
flake.haskellFlakeProjectModules.<name>
option can be used to set and expose your Haskell project modules to other flakes. - #67:
overrides
will be combined usingcomposeManyExtensions
, however their order is arbitrary. This is an experimental feature, and a warning will be logged.
- #79:
- #37: Group
- Initial release