47 lines
1.4 KiB
Nix
47 lines
1.4 KiB
Nix
|
{ system ? builtins.currentSystem, static ? false }:
|
||
|
let
|
||
|
sources = import ./sources.nix;
|
||
|
nixpkgs = import sources.nixpkgs {
|
||
|
system = if !static then
|
||
|
system
|
||
|
else
|
||
|
(builtins.head (builtins.split "-" system)) + "-linux";
|
||
|
overlays = [
|
||
|
(final: prev: {
|
||
|
haskellPackages = if !static then
|
||
|
prev.haskellPackages
|
||
|
else
|
||
|
prev.haskellPackages.override {
|
||
|
ghc = prev.haskellPackages.ghc.override {
|
||
|
enableRelocatedStaticLibs = true;
|
||
|
enableShared = false;
|
||
|
enableDwarf = false;
|
||
|
};
|
||
|
buildHaskellPackages =
|
||
|
prev.haskellPackages.buildHaskellPackages.override
|
||
|
(old: { ghc = final.haskellPackages.ghc; });
|
||
|
};
|
||
|
})
|
||
|
(final: prev: {
|
||
|
haskell = if !static then
|
||
|
prev.haskell
|
||
|
else
|
||
|
prev.haskell // {
|
||
|
packageOverrides =
|
||
|
prev.lib.composeExtensions prev.haskell.packageOverrides
|
||
|
(hfinal: hprev: {
|
||
|
mkDerivation = args:
|
||
|
hprev.mkDerivation (args // {
|
||
|
doCheck = false;
|
||
|
doHaddock = false;
|
||
|
enableLibraryProfiling = false;
|
||
|
enableExecutableProfiling = false;
|
||
|
});
|
||
|
});
|
||
|
};
|
||
|
})
|
||
|
];
|
||
|
config = { };
|
||
|
};
|
||
|
in if static then nixpkgs.pkgsMusl else nixpkgs
|