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
|