Add all default NixOS packages to the channel

The job ‘dummy’ depends on the default contents of
‘environment.systemPackages’, thus ensuring that those packages all
end up in the channel.

+19 -4
+9 -4
nixos/release-combined.nix
··· 1 { nixpkgs ? { outPath = ./..; revCount = 56789; shortRev = "gfedcba"; } 2 , stableBranch ? false 3 , supportedSystems ? [ "x86_64-linux" "i686-linux" ] ··· 18 in rec { 19 20 nixos = removeMaintainers (import ./release.nix { 21 - inherit stableBranch; 22 nixpkgs = nixpkgsSrc; 23 }); 24 ··· 30 tested = pkgs.releaseTools.aggregate { 31 name = "nixos-${nixos.channel.version}"; 32 meta = { 33 - description = "Release-critical builds for the NixOS unstable channel"; 34 - maintainers = [ pkgs.lib.maintainers.eelco pkgs.lib.maintainers.shlevy ]; 35 }; 36 constituents = 37 - let all = x: map (p: x.${p}) supportedSystems; in 38 [ nixos.channel 39 (all nixos.manual) 40 41 (all nixos.iso_minimal)
··· 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" ] ··· 22 in rec { 23 24 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) 45 46 (all nixos.iso_minimal)
+10
nixos/release.nix
··· 186 ); 187 188 189 # 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 ); 187 188 189 + # 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