Much better Haskell environment
This commit is contained in:
parent
a09071f8f6
commit
6e6ce2c1fc
|
@ -14,7 +14,6 @@
|
||||||
flake-inputs = inputs;
|
flake-inputs = inputs;
|
||||||
flake-inputs' = inputs';
|
flake-inputs' = inputs';
|
||||||
})
|
})
|
||||||
inputs.self.overlays.addMyHaskellPackages
|
|
||||||
]
|
]
|
||||||
++ (let
|
++ (let
|
||||||
overlayPath = ./.;
|
overlayPath = ./.;
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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;
|
||||||
|
|
Loading…
Reference in a new issue