Author: eelco
Date: Thu Apr 28 15:44:41 2011
New Revision: 27035
URL: https://svn.nixos.org/websvn/nix/?rev=27035&sc=1

Log:
* Support multiple network configurations stacked on top of each
  other, as in r27028.

Modified:
   cloud/trunk/src/eval-machine-info.nix
   cloud/trunk/src/nixos-deploy-network.pl

Modified: cloud/trunk/src/eval-machine-info.nix
==============================================================================
--- cloud/trunk/src/eval-machine-info.nix       Thu Apr 28 14:57:45 2011        
(r27034)
+++ cloud/trunk/src/eval-machine-info.nix       Thu Apr 28 15:44:41 2011        
(r27035)
@@ -1,7 +1,7 @@
 { nixpkgs ? builtins.getEnv "NIXPKGS_ALL"
 , nixos ? builtins.getEnv "NIXOS"
 , system ? builtins.currentSystem
-, networkExpr
+, networkExprs
 }:
 
 with import "${nixos}/lib/testing.nix" { inherit nixpkgs system; };
@@ -10,19 +10,21 @@
 
 rec {
 
-  network = import networkExpr;
+  networks = map (networkExpr: import networkExpr) networkExprs;
 
+  network = zipAttrs networks;
+  
   nodes =
     listToAttrs (map (configurationName:
       let
-        configuration = getAttr configurationName network;
+        modules = getAttr configurationName network;
       in
       { name = configurationName;
         value = import "${nixos}/lib/eval-config.nix" {
           inherit nixpkgs;
           modules =
-            [ configuration
-              # Slurp in the required configuration for machines in the adhoc 
cloud.
+            modules ++
+            [ # Slurp in the required configuration for machines in the adhoc 
cloud.
               /home/eelco/Dev/configurations/tud/cloud/cloud-vm.nix
               # Provide a default hostname and deployment target equal
               # to the attribute name of the machine in the model.

Modified: cloud/trunk/src/nixos-deploy-network.pl
==============================================================================
--- cloud/trunk/src/nixos-deploy-network.pl     Thu Apr 28 14:57:45 2011        
(r27034)
+++ cloud/trunk/src/nixos-deploy-network.pl     Thu Apr 28 15:44:41 2011        
(r27035)
@@ -42,7 +42,7 @@
 
 sub evalMachineInfo {
     my $machineInfoXML =
-        `nix-instantiate --eval-only --xml --strict ./eval-machine-info.nix 
--argstr networkExpr $networkExpr -A machineInfo`;
+        `nix-instantiate --eval-only --xml --strict ./eval-machine-info.nix 
--arg networkExprs '[ $networkExpr ]' -A machineInfo`;
     die "evaluation of $networkExpr failed" unless $? == 0;
     
     #print $machineInfoXML, "\n";
@@ -92,7 +92,7 @@
 
 sub buildConfigs {
     print STDERR "building all machine configurations...\n";
-    $outPath = `nix-build ./eval-machine-info.nix --argstr networkExpr 
$networkExpr -A machines`;
+    $outPath = `nix-build ./eval-machine-info.nix --arg networkExprs '[ 
$networkExpr ]' -A machines`;
     die "unable to build all machine configurations" unless $? == 0;
     chomp $outPath;
 }
_______________________________________________
nix-commits mailing list
[email protected]
http://mail.cs.uu.nl/mailman/listinfo/nix-commits

Reply via email to