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;
flake-inputs' = inputs'; flake-inputs' = inputs';
}) })
inputs.self.overlays.addMyHaskellPackages
] ]
++ (let ++ (let
overlayPath = ./.; overlayPath = ./.;

View file

@ -1,6 +1,20 @@
final: _: let final: prev: let
myPkgs = import ./packages.nix; myPkgs = import ./packages.nix;
in { inherit (prev.flake-inputs) self;
myHaskellScriptPackages = myPkgs.makeHaskellScriptPackages final.haskellPackages; inherit (self.lib) selectHaskellPackages;
ghcWithPackages = final.unstableGhc.withHoogle (p: builtins.attrValues (myPkgs.makeHaskellPackages p // (final.flake-inputs.self.overlays.addMyHaskellPackages "" ""))); 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; packages = selectHaskellPackages hpkgs;
in { in {
flake.overlays = { flake = {
inherit haskellPackagesOverlay; lib = {inherit selectHaskellPackages;};
addMyHaskellPackages = _: _: packages; overlays = {inherit haskellPackagesOverlay;};
}; };
perSystem = {config, ...}: { perSystem = {config, ...}: {
inherit packages; inherit packages;