diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2014-08-22 11:37:31 +0200 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2014-08-22 11:41:15 +0200 |
commit | 7cdb1bb8aa7a0f559958f56fb53e65608d751117 (patch) | |
tree | f49342b4999e9fc86b73677964e9301d2a573b0a /nixos | |
parent | fec81c392f255fed231d13e9ca363632648a05c5 (diff) | |
download | nixlib-7cdb1bb8aa7a0f559958f56fb53e65608d751117.tar nixlib-7cdb1bb8aa7a0f559958f56fb53e65608d751117.tar.gz nixlib-7cdb1bb8aa7a0f559958f56fb53e65608d751117.tar.bz2 nixlib-7cdb1bb8aa7a0f559958f56fb53e65608d751117.tar.lz nixlib-7cdb1bb8aa7a0f559958f56fb53e65608d751117.tar.xz nixlib-7cdb1bb8aa7a0f559958f56fb53e65608d751117.tar.zst nixlib-7cdb1bb8aa7a0f559958f56fb53e65608d751117.zip |
Build a few NixOS system closures on Hydra
This will allow us to keep track of the evolution of closure sizes of some typical configurations. (Hydra stores closure sizes in its database.)
Diffstat (limited to 'nixos')
-rw-r--r-- | nixos/release.nix | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/nixos/release.nix b/nixos/release.nix index ed413d3e928f..0620b46d46ad 100644 --- a/nixos/release.nix +++ b/nixos/release.nix @@ -78,6 +78,16 @@ let }; + makeClosure = module: forAllSystems (system: (import ./lib/eval-config.nix { + inherit system; + modules = [ module ] ++ lib.singleton + ({ config, lib, ... }: + { fileSystems."/".device = lib.mkDefault "/dev/sda1"; + boot.loader.grub.device = lib.mkDefault "/dev/sda"; + }); + }).config.system.build.toplevel); + + in rec { channel = @@ -242,4 +252,46 @@ in rec { tests.udisks2 = callTest tests/udisks2.nix {}; tests.xfce = callTest tests/xfce.nix {}; + + /* Build a bunch of typical closures so that Hydra can keep track of + the evolution of closure sizes. */ + + closures = { + + smallContainer = makeClosure ({ pkgs, ... }: + { boot.isContainer = true; + services.openssh.enable = true; + }); + + tinyContainer = makeClosure ({ pkgs, ... }: + { boot.isContainer = true; + imports = [ modules/profiles/minimal.nix ]; + }); + + ec2 = makeClosure ({ pkgs, ... }: + { imports = [ modules/virtualisation/amazon-image.nix ]; + }); + + kde = makeClosure ({ pkgs, ... }: + { services.xserver.enable = true; + services.xserver.displayManager.kdm.enable = true; + services.xserver.desktopManager.kde4.enable = true; + }); + + xfce = makeClosure ({ pkgs, ... }: + { services.xserver.enable = true; + services.xserver.desktopManager.xfce.enable = true; + }); + + # Linux/Apache/PostgreSQL/PHP stack. + lapp = makeClosure ({ pkgs, ... }: + { services.httpd.enable = true; + services.httpd.adminAddr = "foo@example.org"; + services.postgresql.enable = true; + services.postgresql.package = pkgs.postgresql93; + environment.systemPackages = [ pkgs.php ]; + }); + + }; + } |