at 15.09-beta 1.9 kB view raw
1# This jobset is used to generate a NixOS channel that contains a 2# small subset of Nixpkgs, mostly useful for servers that need fast 3# security updates. 4 5{ nixpkgs ? { outPath = ./..; revCount = 56789; shortRev = "gfedcba"; } 6, stableBranch ? false 7, supportedSystems ? [ "x86_64-linux" ] # no i686-linux 8}: 9 10let 11 12 nixpkgsSrc = nixpkgs; # urgh 13 14 pkgs = import ./.. {}; 15 16 lib = pkgs.lib; 17 18 nixos' = import ./release.nix { 19 inherit stableBranch supportedSystems; 20 nixpkgs = nixpkgsSrc; 21 }; 22 23 nixpkgs' = builtins.removeAttrs (import ../pkgs/top-level/release.nix { 24 inherit supportedSystems; 25 nixpkgs = nixpkgsSrc; 26 }) [ "unstable" ]; 27 28in rec { 29 30 nixos = { 31 inherit (nixos') channel manual iso_minimal dummy; 32 tests = { 33 inherit (nixos'.tests) 34 containers 35 firewall 36 ipv6 37 login 38 misc 39 nat 40 nfs3 41 openssh 42 proxy 43 simple; 44 installer = { 45 inherit (nixos'.tests.installer) 46 lvm 47 separateBoot 48 simple; 49 }; 50 }; 51 }; 52 53 nixpkgs = { 54 inherit (nixpkgs') 55 apacheHttpd_2_2 56 apacheHttpd_2_4 57 cmake 58 cryptsetup 59 emacs 60 gettext 61 git 62 imagemagick 63 jdk 64 linux 65 mysql51 66 mysql55 67 nginx 68 nodejs 69 openssh 70 php 71 postgresql92 72 postgresql93 73 python 74 rsyslog 75 stdenv 76 subversion 77 tarball 78 vim; 79 }; 80 81 tested = lib.hydraJob (pkgs.releaseTools.aggregate { 82 name = "nixos-${nixos.channel.version}"; 83 meta = { 84 description = "Release-critical builds for the NixOS channel"; 85 maintainers = [ lib.maintainers.eelco ]; 86 }; 87 constituents = 88 let all = x: map (system: x.${system}) supportedSystems; in 89 [ nixpkgs.tarball 90 (all nixpkgs.jdk) 91 ] 92 ++ lib.collect lib.isDerivation nixos; 93 }); 94 95}