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 = (import ../lib).cleanSource ./..; 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 ./.. { system = "x86_64-linux"; };
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 options iso_minimal amazonImage dummy;
32 tests = {
33 inherit (nixos'.tests)
34 containers-imperative
35 containers-ip
36 firewall
37 ipv6
38 login
39 misc
40 nat
41 nfs3
42 openssh
43 php
44 predictable-interface-names
45 proxy
46 simple;
47 installer = {
48 inherit (nixos'.tests.installer)
49 lvm
50 separateBoot
51 simple;
52 };
53 boot = {
54 inherit (nixos'.tests.boot)
55 biosCdrom;
56 };
57 };
58 };
59
60 nixpkgs = {
61 inherit (nixpkgs')
62 apacheHttpd
63 cmake
64 cryptsetup
65 emacs
66 gettext
67 git
68 imagemagick
69 jdk
70 linux
71 mysql
72 nginx
73 nodejs
74 openssh
75 php
76 postgresql
77 python
78 rsyslog
79 stdenv
80 subversion
81 tarball
82 vim;
83 };
84
85 tested = pkgs.releaseTools.aggregate {
86 name = "nixos-${nixos.channel.version}";
87 meta = {
88 description = "Release-critical builds for the NixOS channel";
89 maintainers = [ lib.maintainers.eelco ];
90 };
91 constituents =
92 [ "nixos.channel"
93 "nixos.dummy.x86_64-linux"
94 "nixos.iso_minimal.x86_64-linux"
95 "nixos.amazonImage.x86_64-linux"
96 "nixos.manual.x86_64-linux"
97 "nixos.tests.boot.biosCdrom.x86_64-linux"
98 "nixos.tests.containers-imperative.x86_64-linux"
99 "nixos.tests.containers-ip.x86_64-linux"
100 "nixos.tests.firewall.x86_64-linux"
101 "nixos.tests.installer.lvm.x86_64-linux"
102 "nixos.tests.installer.separateBoot.x86_64-linux"
103 "nixos.tests.installer.simple.x86_64-linux"
104 "nixos.tests.ipv6.x86_64-linux"
105 "nixos.tests.login.x86_64-linux"
106 "nixos.tests.misc.x86_64-linux"
107 "nixos.tests.nat.firewall-conntrack.x86_64-linux"
108 "nixos.tests.nat.firewall.x86_64-linux"
109 "nixos.tests.nat.standalone.x86_64-linux"
110 "nixos.tests.nfs3.simple.x86_64-linux"
111 "nixos.tests.openssh.x86_64-linux"
112 "nixos.tests.php.fpm.x86_64-linux"
113 "nixos.tests.php.pcre.x86_64-linux"
114 "nixos.tests.predictable-interface-names.predictable.x86_64-linux"
115 "nixos.tests.predictable-interface-names.predictableNetworkd.x86_64-linux"
116 "nixos.tests.predictable-interface-names.unpredictable.x86_64-linux"
117 "nixos.tests.predictable-interface-names.unpredictableNetworkd.x86_64-linux"
118 "nixos.tests.proxy.x86_64-linux"
119 "nixos.tests.simple.x86_64-linux"
120 "nixpkgs.jdk.x86_64-linux"
121 "nixpkgs.tarball"
122 ];
123 };
124
125}