at 17.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 57 cmake 58 cryptsetup 59 emacs 60 gettext 61 git 62 imagemagick 63 jdk 64 linux 65 mysql 66 nginx 67 nodejs 68 openssh 69 php 70 postgresql 71 python 72 rsyslog 73 stdenv 74 subversion 75 tarball 76 vim; 77 }; 78 79 tested = lib.hydraJob (pkgs.releaseTools.aggregate { 80 name = "nixos-${nixos.channel.version}"; 81 meta = { 82 description = "Release-critical builds for the NixOS channel"; 83 maintainers = [ lib.maintainers.eelco ]; 84 }; 85 constituents = 86 let all = x: map (system: x.${system}) supportedSystems; in 87 [ nixpkgs.tarball 88 (all nixpkgs.jdk) 89 ] 90 ++ lib.collect lib.isDerivation nixos; 91 }); 92 93}