haskell-wasm-repl/nix/nixpkgs.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