1
0
Fork 0

Much better Haskell environment

This commit is contained in:
Malte 2023-03-03 00:06:45 +01:00
parent a09071f8f6
commit 6e6ce2c1fc
3 changed files with 22 additions and 9 deletions

View file

@ -14,7 +14,6 @@
flake-inputs = inputs;
flake-inputs' = inputs';
})
inputs.self.overlays.addMyHaskellPackages
]
++ (let
overlayPath = ./.;

View file

@ -1,6 +1,20 @@
final: _: let
final: prev: let
myPkgs = import ./packages.nix;
in {
myHaskellScriptPackages = myPkgs.makeHaskellScriptPackages final.haskellPackages;
ghcWithPackages = final.unstableGhc.withHoogle (p: builtins.attrValues (myPkgs.makeHaskellPackages p // (final.flake-inputs.self.overlays.addMyHaskellPackages "" "")));
}
inherit (prev.flake-inputs) self;
inherit (self.lib) selectHaskellPackages;
hpkgs = final.unstableHaskellPackages.override {
overrides = self.overlays.haskellPackagesOverlay;
};
shell = hpkgs.shellFor {
withHoogle = true;
packages = p: builtins.attrValues (self.lib.selectHaskellPackages p);
extraDependencies = p: {
libraryHaskellDepends = builtins.attrValues (myPkgs.makeHaskellPackages p // selectHaskellPackages p);
};
};
in
{
myHaskellScriptPackages = myPkgs.makeHaskellScriptPackages final.haskellPackages;
ghcWithPackages = builtins.head shell.nativeBuildInputs;
}
// selectHaskellPackages hpkgs

View file

@ -80,9 +80,9 @@
};
packages = selectHaskellPackages hpkgs;
in {
flake.overlays = {
inherit haskellPackagesOverlay;
addMyHaskellPackages = _: _: packages;
flake = {
lib = {inherit selectHaskellPackages;};
overlays = {inherit haskellPackagesOverlay;};
};
perSystem = {config, ...}: {
inherit packages;