nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at python-updates 71 lines 1.9 kB view raw
1{ 2 pkgs, 3 stdenv, 4 lib, 5 haskellLib, 6 ghc, 7 all-cabal-hashes, 8 buildHaskellPackages, 9 compilerConfig ? (self: super: { }), 10 packageSetConfig ? (self: super: { }), 11 overrides ? (self: super: { }), 12 initialPackages ? import ./initial-packages.nix, 13 nonHackagePackages ? import ./non-hackage-packages.nix, 14 configurationCommon ? import ./configuration-common.nix, 15 configurationNix ? import ./configuration-nix.nix, 16 configurationArm ? import ./configuration-arm.nix, 17 configurationDarwin ? import ./configuration-darwin.nix, 18 configurationWindows ? import ./configuration-windows.nix, 19 configurationJS ? import ./configuration-ghcjs-9.x.nix, 20}: 21 22let 23 24 inherit (lib) extends makeExtensible; 25 inherit (haskellLib) makePackageSet; 26 27 haskellPackages = pkgs.callPackage makePackageSet { 28 package-set = initialPackages; 29 inherit 30 stdenv 31 haskellLib 32 ghc 33 extensible-self 34 all-cabal-hashes 35 buildHaskellPackages 36 ; 37 }; 38 39 platformConfigurations = 40 lib.optionals stdenv.hostPlatform.isAarch [ 41 (configurationArm { inherit pkgs haskellLib; }) 42 ] 43 ++ lib.optionals stdenv.hostPlatform.isDarwin [ 44 (configurationDarwin { inherit pkgs haskellLib; }) 45 ] 46 ++ lib.optionals stdenv.hostPlatform.isWindows [ 47 (configurationWindows { inherit pkgs haskellLib; }) 48 ] 49 ++ lib.optionals stdenv.hostPlatform.isGhcjs [ 50 (configurationJS { inherit pkgs haskellLib; }) 51 ]; 52 53 extensions = lib.composeManyExtensions ( 54 [ 55 (nonHackagePackages { inherit pkgs haskellLib; }) 56 (configurationNix { inherit pkgs haskellLib; }) 57 (configurationCommon { inherit pkgs haskellLib; }) 58 ] 59 ++ platformConfigurations 60 ++ [ 61 compilerConfig 62 packageSetConfig 63 overrides 64 ] 65 ); 66 67 extensible-self = makeExtensible (extends extensions haskellPackages); 68 69in 70 71extensible-self