Merge pull request #312585 from r-ryantm/auto-update/crunchy-cli
[NixPkgs.git] / nixos / release-small.nix
blobb87a58f5eee83e9faff9c67797a592d4ba88c647
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 iso_minimal amazonImage 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       };
58       boot = {
59         inherit (nixos'.tests.boot)
60           biosCdrom
61           uefiCdrom;
62       };
63     };
64   };
66   nixpkgs = {
67     inherit (nixpkgs')
68       apacheHttpd
69       cmake
70       cryptsetup
71       emacs
72       gettext
73       git
74       imagemagick
75       jdk
76       linux
77       mariadb
78       nginx
79       nodejs
80       openssh
81       php
82       postgresql
83       python
84       release-checks
85       rsyslog
86       stdenv
87       subversion
88       tarball
89       vim
90       tests-stdenv-gcc-stageCompare;
91   };
93   tested = let
94     onSupported = x: map (system: "${x}.${system}") supportedSystems;
95     onSystems = systems: x: map (system: "${x}.${system}")
96       (pkgs.lib.intersectLists systems supportedSystems);
97   in pkgs.releaseTools.aggregate {
98     name = "nixos-${nixos.channel.version}";
99     meta = {
100       description = "Release-critical builds for the NixOS channel";
101       maintainers = [ ];
102     };
103     constituents = lib.flatten [
104       [
105         "nixos.channel"
106         "nixpkgs.tarball"
107         "nixpkgs.release-checks"
108       ]
109       (map (onSystems [ "x86_64-linux" ]) [
110         "nixos.tests.boot.biosCdrom"
111         "nixos.tests.installer.lvm"
112         "nixos.tests.installer.separateBoot"
113         "nixos.tests.installer.simple"
114       ])
115       (map onSupported [
116         "nixos.dummy"
117         "nixos.iso_minimal"
118         "nixos.amazonImage"
119         "nixos.manual"
120         "nixos.tests.acme"
121         "nixos.tests.boot.uefiCdrom"
122         "nixos.tests.containers-imperative"
123         "nixos.tests.containers-ip"
124         "nixos.tests.firewall"
125         "nixos.tests.ipv6"
126         "nixos.tests.login"
127         "nixos.tests.misc.default"
128         "nixos.tests.nat.firewall"
129         "nixos.tests.nat.standalone"
130         "nixos.tests.nfs4.simple"
131         "nixos.tests.openssh"
132         "nixos.tests.php.fpm"
133         "nixos.tests.php.pcre"
134         "nixos.tests.predictable-interface-names.predictable"
135         "nixos.tests.predictable-interface-names.predictableNetworkd"
136         "nixos.tests.predictable-interface-names.unpredictable"
137         "nixos.tests.predictable-interface-names.unpredictableNetworkd"
138         "nixos.tests.proxy"
139         "nixos.tests.simple"
140         "nixpkgs.jdk"
141         "nixpkgs.tests-stdenv-gcc-stageCompare"
142       ])
143     ];
144   };