vuls: init at 0.27.0 (#348530)
[NixPkgs.git] / nixos / release-small.nix
blobd3a70506ddecb9a779955bdd0eb8ce552ab1ff6c
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.
5 # Individual jobs can be tested by running:
7 #   nix-build nixos/release-small.nix -A <jobname>
9 { nixpkgs ? { outPath = (import ../lib).cleanSource ./..; revCount = 56789; shortRev = "gfedcba"; }
10 , stableBranch ? false
11 , supportedSystems ? [ "aarch64-linux" "x86_64-linux" ] # no i686-linux
14 let
16   nixpkgsSrc = nixpkgs; # urgh
18   pkgs = import ./.. { system = "x86_64-linux"; };
20   lib = pkgs.lib;
22   nixos' = import ./release.nix {
23     inherit stableBranch supportedSystems;
24     nixpkgs = nixpkgsSrc;
25   };
27   nixpkgs' = builtins.removeAttrs (import ../pkgs/top-level/release.nix {
28     inherit supportedSystems;
29     nixpkgs = nixpkgsSrc;
30   }) [ "unstable" ];
32 in rec {
34   nixos = {
35     inherit (nixos') channel manual options dummy;
36     tests = {
37       inherit (nixos'.tests)
38         acme
39         containers-imperative
40         containers-ip
41         firewall
42         ipv6
43         login
44         misc
45         nat
46         nfs4
47         openssh
48         php
49         predictable-interface-names
50         proxy
51         simple;
52       installer = {
53         inherit (nixos'.tests.installer)
54           lvm
55           separateBoot
56           simple
57           simpleUefiSystemdBoot;
58       };
59     };
60   };
62   nixpkgs = {
63     inherit (nixpkgs')
64       apacheHttpd
65       cmake
66       cryptsetup
67       emacs
68       gettext
69       git
70       imagemagick
71       jdk
72       linux
73       mariadb
74       nginx
75       nodejs
76       openssh
77       opensshTest
78       php
79       postgresql
80       python
81       release-checks
82       rsyslog
83       stdenv
84       subversion
85       tarball
86       vim
87       tests-stdenv-gcc-stageCompare;
88   };
90   tested = let
91     onSupported = x: map (system: "${x}.${system}") supportedSystems;
92     onSystems = systems: x: map (system: "${x}.${system}")
93       (pkgs.lib.intersectLists systems supportedSystems);
94   in pkgs.releaseTools.aggregate {
95     name = "nixos-${nixos.channel.version}";
96     meta = {
97       description = "Release-critical builds for the NixOS channel";
98       maintainers = [ ];
99     };
100     constituents = lib.flatten [
101       [
102         "nixos.channel"
103         "nixpkgs.tarball"
104         "nixpkgs.release-checks"
105       ]
106       (map (onSystems [ "x86_64-linux" ]) [
107         "nixos.tests.installer.lvm"
108         "nixos.tests.installer.separateBoot"
109         "nixos.tests.installer.simple"
110       ])
111       (map onSupported [
112         "nixos.dummy"
113         "nixos.manual"
114         "nixos.tests.acme"
115         "nixos.tests.containers-imperative"
116         "nixos.tests.containers-ip"
117         "nixos.tests.firewall"
118         "nixos.tests.ipv6"
119         "nixos.tests.installer.simpleUefiSystemdBoot"
120         "nixos.tests.login"
121         "nixos.tests.misc"
122         "nixos.tests.nat.firewall"
123         "nixos.tests.nat.standalone"
124         "nixos.tests.nfs4.simple"
125         "nixos.tests.openssh"
126         "nixos.tests.php.fpm"
127         "nixos.tests.php.pcre"
128         "nixos.tests.predictable-interface-names.predictable"
129         "nixos.tests.predictable-interface-names.predictableNetworkd"
130         "nixos.tests.predictable-interface-names.unpredictable"
131         "nixos.tests.predictable-interface-names.unpredictableNetworkd"
132         "nixos.tests.proxy"
133         "nixos.tests.simple"
134         "nixpkgs.jdk"
135         "nixpkgs.tests-stdenv-gcc-stageCompare"
136         "nixpkgs.opensshTest"
137       ])
138     ];
139   };