at 16.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-imperative 35 containers-ipv4 36 firewall 37 ipv6 38 login 39 misc 40 nat 41 nfs3 42 openssh 43 proxy 44 simple; 45 installer = { 46 inherit (nixos'.tests.installer) 47 lvm 48 separateBoot 49 simple; 50 }; 51 }; 52 }; 53 54 nixpkgs = { 55 inherit (nixpkgs') 56 apacheHttpd_2_2 57 apacheHttpd_2_4 58 cmake 59 cryptsetup 60 emacs 61 gettext 62 git 63 imagemagick 64 jdk 65 linux 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}