1
0
Fork 0
nixos-config/overlays/30-ghc.nix
2021-05-24 02:13:18 +02:00

37 lines
1.3 KiB
Nix

self: super:
let
inherit (super) fetchFromGitHub;
unstable = import super.sources.nixos-unstable { };
inherit (unstable.haskell.lib) overrideCabal unmarkBroken doJailbreak dontCheck;
makeHaskellScriptPackages = p: {
inherit (p)
aeson shh string-interpolate relude replace-megaparsec async say
megaparsec fdo-notify these fsnotify
;
};
makeHaskellPackages = p:
{
inherit (p)
brittany ormolu releaser cabal-fmt stack ghcid ghcide arbtt iCalendar
pretty-simple tz stm-containers streamly
haskell-language-server cabal-install dhall taskwarrior pandoc hlint
cabal2nix weeder reflex-dom password optics shh-extras neuron
hspec-discover paths hmatrix postgresql-simple snap
hedgehog nix-derivation req
;
} // makeHaskellScriptPackages p;
overrides = self: super: {
generic-optics = dontCheck (unmarkBroken super.generic-optics);
};
haskellPackages = unstable.haskellPackages.extend overrides;
ghc = haskellPackages.ghc;
in
{
inherit ghc haskellPackages;
cachix = unstable.cachix;
nix-output-monitor = unstable.nix-output-monitor;
myHaskellPackages = makeHaskellPackages haskellPackages;
myHaskellScriptPackages = makeHaskellScriptPackages haskellPackages;
ghcWithPackages = ghc.withHoogle (p: builtins.attrValues (makeHaskellPackages p));
}