Author: eelco
Date: Fri Mar  2 14:01:57 2012
New Revision: 32743
URL: https://nixos.org/websvn/nix/?rev=32743&sc=1

Log:
* Add an option ‘deployment.virtualbox.baseImage’ to specify the
  VirtualBox/Charon base image.

Modified:
   nixos/trunk/modules/misc/deployment.nix

Modified: nixos/trunk/modules/misc/deployment.nix
==============================================================================
--- nixos/trunk/modules/misc/deployment.nix     Fri Mar  2 13:47:37 2012        
(r32742)
+++ nixos/trunk/modules/misc/deployment.nix     Fri Mar  2 14:01:57 2012        
(r32743)
@@ -156,6 +156,17 @@
       '';
     };
 
+    # VirtualBox options.
+
+    deployment.virtualbox.baseImage = mkOption {
+      example = "/home/alice/base-disk.vdi";
+      description = ''
+        Path to the initial disk image used to bootstrap the
+        VirtualBox instance.  The instance boots from a clone of this
+        image.
+      '';
+    };
+
     # Computed options useful for referring to other machines in
     # network specifications.
 
@@ -198,6 +209,25 @@
         "");
         
     };
+
+    deployment.virtualbox = {
+
+      baseImage = mkDefault (
+        let
+          unpack = name: sha256: pkgs.runCommand 
"virtualbox-charon-${name}.vdi" {}
+            ''
+              xz < ${pkgs.fetchurl {
+                url = 
"http://nixos.org/releases/nixos/virtualbox-charon-images/virtualbox-charon-${name}.vdi.xz";;
+                inherit sha256;
+              }} > $out
+            '';
+        in if config.nixpkgs.system == "x86_64-linux" then
+          unpack "r32740-x86_64" 
"0vwjcf85y4qyd5hxh8gb2nnkhbpdz2j284w5d7x94rvczfpa49hz"
+        else if config.nixpkgs.system == "i686-linux" then /foo/disk.vdi else
+          throw "Unsupported VirtualBox system type!"
+      );
+    
+    };
         
   };
   
_______________________________________________
nix-commits mailing list
[email protected]
http://lists.science.uu.nl/mailman/listinfo/nix-commits

Reply via email to