Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at 21.05 45 lines 1.4 kB view raw
1{ pkgs, stdenv, lib, haskellLib, ghc, all-cabal-hashes 2, buildHaskellPackages 3, compilerConfig ? (self: super: {}) 4, packageSetConfig ? (self: super: {}) 5, overrides ? (self: super: {}) 6, initialPackages ? import ./initial-packages.nix 7, nonHackagePackages ? import ./non-hackage-packages.nix 8, configurationCommon ? import ./configuration-common.nix 9, configurationNix ? import ./configuration-nix.nix 10, configurationArm ? import ./configuration-arm.nix 11, configurationDarwin ? import ./configuration-darwin.nix 12}: 13 14let 15 16 inherit (lib) extends makeExtensible; 17 inherit (haskellLib) makePackageSet; 18 19 haskellPackages = pkgs.callPackage makePackageSet { 20 package-set = initialPackages; 21 inherit stdenv haskellLib ghc buildHaskellPackages extensible-self all-cabal-hashes; 22 }; 23 24 isArm = with stdenv.hostPlatform; isAarch64 || isAarch32; 25 platformConfigurations = lib.optionals isArm [ 26 (configurationArm { inherit pkgs haskellLib; }) 27 ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ 28 (configurationDarwin { inherit pkgs haskellLib; }) 29 ]; 30 31 extensions = lib.composeManyExtensions ([ 32 nonHackagePackages 33 (configurationNix { inherit pkgs haskellLib; }) 34 (configurationCommon { inherit pkgs haskellLib; }) 35 ] ++ platformConfigurations ++ [ 36 compilerConfig 37 packageSetConfig 38 overrides 39 ]); 40 41 extensible-self = makeExtensible (extends extensions haskellPackages); 42 43in 44 45 extensible-self