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.
This commit is contained in:
Eelco Dolstra 2014-09-25 00:20:53 +02:00
parent 0a967b9268
commit 1cd727180e
2 changed files with 19 additions and 4 deletions

View file

@ -1,3 +1,7 @@
# This jobset defines the main NixOS channels (such as nixos-unstable
# and nixos-14.04). The channel is updated every time the tested job
# succeeds, and all other jobs have finished (they may fail).
{ nixpkgs ? { outPath = ./..; revCount = 56789; shortRev = "gfedcba"; }
, stableBranch ? false
, supportedSystems ? [ "x86_64-linux" "i686-linux" ]
@ -18,7 +22,7 @@ let
in rec {
nixos = removeMaintainers (import ./release.nix {
inherit stableBranch;
inherit stableBranch supportedSystems;
nixpkgs = nixpkgsSrc;
});
@ -30,12 +34,13 @@ in rec {
tested = pkgs.releaseTools.aggregate {
name = "nixos-${nixos.channel.version}";
meta = {
description = "Release-critical builds for the NixOS unstable channel";
maintainers = [ pkgs.lib.maintainers.eelco pkgs.lib.maintainers.shlevy ];
description = "Release-critical builds for the NixOS channel";
maintainers = [ pkgs.lib.maintainers.eelco ];
};
constituents =
let all = x: map (p: x.${p}) supportedSystems; in
let all = x: map (system: x.${system}) supportedSystems; in
[ nixos.channel
(all nixos.dummy)
(all nixos.manual)
(all nixos.iso_minimal)

View file

@ -186,6 +186,16 @@ in rec {
);
# Ensure that all packages used by the minimal NixOS config end up in the channel.
dummy = forAllSystems (system: pkgs.runCommand "dummy"
{ propagatedBuildInputs = (import lib/eval-config.nix {
inherit system;
modules = lib.singleton ({ config, pkgs, ... }: { });
}).config.environment.systemPackages;
}
"mkdir $out; fixupPhase");
# Provide a tarball that can be unpacked into an SD card, and easily
# boot that system from uboot (like for the sheevaplug).
# The pc variant helps preparing the expression for the system tarball