summary refs log tree commit diff
path: root/nixos/release-combined.nix
blob: 9b914506215d0a4e142f25d418198ad0ba7b8fd6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
{ nixosSrc ? { outPath = ./.; revCount = 1234; shortRev = "abcdefg"; }
, nixpkgs ? { outPath = <nixpkgs>; revCount = 5678; shortRev = "gfedcba"; }
, officialRelease ? false
}:

let

  nixpkgs' = nixpkgs; # urgh

  pkgs = import <nixpkgs> {};

  removeMaintainers = set: if builtins.isAttrs set
    then if (set.type or "") == "derivation"
      then set // { meta = builtins.removeAttrs (set.meta or {}) [ "maintainers" ]; }
      else pkgs.lib.mapAttrs (n: v: removeMaintainers v) set
    else set;

in rec {

  nixos = removeMaintainers (import ./release.nix {
    inherit nixosSrc officialRelease;
    nixpkgs = nixpkgs';
  });

  nixpkgs = builtins.removeAttrs (removeMaintainers (import <nixpkgs/pkgs/top-level/release.nix> {
    inherit officialRelease;
    nixpkgs = nixpkgs';
    # Only do Linux builds.
    supportedSystems = [ "x86_64-linux" "i686-linux" ];
  })) [ "unstable" ];

  tested = pkgs.releaseTools.aggregate {
    name = "nixos-${nixos.tarball.version}";
    meta = {
      description = "Release-critical builds for the NixOS unstable channel";
      maintainers = [ pkgs.lib.maintainers.eelco pkgs.lib.maintainers.shlevy ];
    };
    constituents =
      let all = x: [ x.x86_64-linux x.i686-linux ]; in
      [ nixos.channel
        nixos.manual

        (all nixos.iso_minimal)
        (all nixos.iso_graphical)
        (all nixos.ova)

        (all nixos.tests.firefox)
        (all nixos.tests.firewall)
        (all nixos.tests.installer.lvm)
        (all nixos.tests.installer.separateBoot)
        (all nixos.tests.installer.simple)
        (all nixos.tests.kde4)
        (all nixos.tests.login)
        (all nixos.tests.misc)
        (all nixos.tests.openssh)
        (all nixos.tests.printing)
        (all nixos.tests.xfce)

        nixpkgs.tarball
        (all nixpkgs.emacs)
      ];
  };

}