26 lines
819 B
Nix
26 lines
819 B
Nix
{ overlays ? [] }:
|
|
let
|
|
sources = import ./sources.nix;
|
|
settings = import ./settings.nix;
|
|
|
|
overlay = final: prev: {
|
|
haskell = prev.haskell // {
|
|
packages = prev.haskell.packages // {
|
|
"${settings.ghc}" = prev.haskell.packages."${settings.ghc}".override {
|
|
overrides = haskellOverlay prev;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
haskellOverlay = pkgs: final: prev: {
|
|
attoparsec-iso8601 = prev.attoparsec-iso8601_1_1_0_0;
|
|
http-api-data = prev.http-api-data_0_5;
|
|
servant = pkgs.haskell.lib.doJailbreak prev.servant;
|
|
servant-server = pkgs.haskell.lib.doJailbreak prev.servant-server;
|
|
unicode-data = prev.unicode-data_0_4_0_1;
|
|
unicode-data-names = pkgs.haskell.lib.markUnbroken prev.unicode-data-names;
|
|
};
|
|
in
|
|
import sources.nixpkgs { overlays = overlays ++ [overlay]; }
|