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/release.nix | |
parent | fec81c392f255fed231d13e9ca363632648a05c5 (diff) | |
download | nixpkgs-7cdb1bb8aa7a0f559958f56fb53e65608d751117.tar nixpkgs-7cdb1bb8aa7a0f559958f56fb53e65608d751117.tar.gz nixpkgs-7cdb1bb8aa7a0f559958f56fb53e65608d751117.tar.bz2 nixpkgs-7cdb1bb8aa7a0f559958f56fb53e65608d751117.tar.lz nixpkgs-7cdb1bb8aa7a0f559958f56fb53e65608d751117.tar.xz nixpkgs-7cdb1bb8aa7a0f559958f56fb53e65608d751117.tar.zst nixpkgs-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/release.nix')
-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 ed413d3e928..0620b46d46a 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 ]; + }); + + }; + } |