···1+# This jobset defines the main NixOS channels (such as nixos-unstable
2+# and nixos-14.04). The channel is updated every time the ‘tested’ job
3+# succeeds, and all other jobs have finished (they may fail).
4+5{ nixpkgs ? { outPath = ./..; revCount = 56789; shortRev = "gfedcba"; }
6, stableBranch ? false
7, supportedSystems ? [ "x86_64-linux" "i686-linux" ]
···22in rec {
2324 nixos = removeMaintainers (import ./release.nix {
25+ inherit stableBranch supportedSystems;
26 nixpkgs = nixpkgsSrc;
27 });
28···34 tested = pkgs.releaseTools.aggregate {
35 name = "nixos-${nixos.channel.version}";
36 meta = {
37+ description = "Release-critical builds for the NixOS channel";
38+ maintainers = [ pkgs.lib.maintainers.eelco ];
39 };
40 constituents =
41+ let all = x: map (system: x.${system}) supportedSystems; in
42 [ nixos.channel
43+ (all nixos.dummy)
44 (all nixos.manual)
4546 (all nixos.iso_minimal)
+10
nixos/release.nix
···186 );
1871880000000000189 # Provide a tarball that can be unpacked into an SD card, and easily
190 # boot that system from uboot (like for the sheevaplug).
191 # The pc variant helps preparing the expression for the system tarball
···186 );
187188189+ # Ensure that all packages used by the minimal NixOS config end up in the channel.
190+ dummy = forAllSystems (system: pkgs.runCommand "dummy"
191+ { propagatedBuildInputs = (import lib/eval-config.nix {
192+ inherit system;
193+ modules = lib.singleton ({ config, pkgs, ... }: { });
194+ }).config.environment.systemPackages;
195+ }
196+ "mkdir $out; fixupPhase");
197+198+199 # Provide a tarball that can be unpacked into an SD card, and easily
200 # boot that system from uboot (like for the sheevaplug).
201 # The pc variant helps preparing the expression for the system tarball