pocket-casts: update electron pin; move to pkgs/by-name/ (#372095)
[NixPkgs.git] / nixos / release-small.nix
blobd2dc59b8ebabb6b47f18d5dce36b2a8163a146e4
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>
10   nixpkgs ? {
11     outPath = (import ../lib).cleanSource ./..;
12     revCount = 56789;
13     shortRev = "gfedcba";
14   },
15   stableBranch ? false,
16   supportedSystems ? [
17     "aarch64-linux"
18     "x86_64-linux"
19   ], # no i686-linux
22 let
24   nixpkgsSrc = nixpkgs; # urgh
26   pkgs = import ./.. { system = "x86_64-linux"; };
28   lib = pkgs.lib;
30   nixos' = import ./release.nix {
31     inherit stableBranch supportedSystems;
32     nixpkgs = nixpkgsSrc;
33   };
35   nixpkgs' = builtins.removeAttrs (import ../pkgs/top-level/release.nix {
36     inherit supportedSystems;
37     nixpkgs = nixpkgsSrc;
38   }) [ "unstable" ];
41 rec {
43   nixos = {
44     inherit (nixos')
45       channel
46       manual
47       options
48       dummy
49       ;
50     tests = {
51       inherit (nixos'.tests)
52         acme
53         containers-imperative
54         containers-ip
55         firewall
56         ipv6
57         login
58         misc
59         nat
60         nfs4
61         openssh
62         php
63         predictable-interface-names
64         proxy
65         simple
66         ;
67       installer = {
68         inherit (nixos'.tests.installer)
69           lvm
70           separateBoot
71           simple
72           simpleUefiSystemdBoot
73           ;
74       };
75     };
76   };
78   nixpkgs = {
79     inherit (nixpkgs')
80       apacheHttpd
81       cmake
82       cryptsetup
83       emacs
84       gettext
85       git
86       imagemagick
87       jdk
88       linux
89       mariadb
90       nginx
91       nodejs
92       openssh
93       opensshTest
94       php
95       postgresql
96       python
97       release-checks
98       rsyslog
99       stdenv
100       subversion
101       tarball
102       vim
103       tests-stdenv-gcc-stageCompare
104       ;
105   };
107   tested =
108     let
109       onSupported = x: map (system: "${x}.${system}") supportedSystems;
110       onSystems =
111         systems: x: map (system: "${x}.${system}") (pkgs.lib.intersectLists systems supportedSystems);
112     in
113     pkgs.releaseTools.aggregate {
114       name = "nixos-${nixos.channel.version}";
115       meta = {
116         description = "Release-critical builds for the NixOS channel";
117         maintainers = [ ];
118       };
119       constituents = lib.flatten [
120         [
121           "nixos.channel"
122           "nixpkgs.tarball"
123           "nixpkgs.release-checks"
124         ]
125         (map (onSystems [ "x86_64-linux" ]) [
126           "nixos.tests.installer.lvm"
127           "nixos.tests.installer.separateBoot"
128           "nixos.tests.installer.simple"
129         ])
130         (map onSupported [
131           "nixos.dummy"
132           "nixos.manual"
133           "nixos.tests.acme"
134           "nixos.tests.containers-imperative"
135           "nixos.tests.containers-ip"
136           "nixos.tests.firewall"
137           "nixos.tests.ipv6"
138           "nixos.tests.installer.simpleUefiSystemdBoot"
139           "nixos.tests.login"
140           "nixos.tests.misc"
141           "nixos.tests.nat.firewall"
142           "nixos.tests.nat.standalone"
143           "nixos.tests.nfs4.simple"
144           "nixos.tests.openssh"
145           "nixos.tests.php.fpm"
146           "nixos.tests.php.pcre"
147           "nixos.tests.predictable-interface-names.predictable"
148           "nixos.tests.predictable-interface-names.predictableNetworkd"
149           "nixos.tests.predictable-interface-names.unpredictable"
150           "nixos.tests.predictable-interface-names.unpredictableNetworkd"
151           "nixos.tests.proxy"
152           "nixos.tests.simple"
153           "nixpkgs.jdk"
154           "nixpkgs.tests-stdenv-gcc-stageCompare"
155           "nixpkgs.opensshTest"
156         ])
157       ];
158     };