about summary refs log tree commit diff
diff options
context:
space:
mode:
authoraszlig <aszlig@redmoonstudios.org>2016-05-03 02:38:45 +0200
committeraszlig <aszlig@redmoonstudios.org>2016-05-03 02:49:50 +0200
commit49dc58c6f8d72a4e142176f25da52666ef9ae268 (patch)
treee5a624d64bfda20cdfb3a4bd6e7f01d2e2eea279
parent1ac04e64a280ce656a7837e062d49423c138aa05 (diff)
lib/call-machine: Get rid of extraConfig attribute
Right now we're not using the system attribute at all and we can still
use nixpkgs.system to set the attribute for a particular machine.

So we now can pass configuration attributes to the second argument of
callMachine *directly* instead of using specific subattributes, which I
think feels is a more natural way so users don't need to look up that
"extraConfig" is for adding configuration values.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
-rw-r--r--lib/call-machine.nix13
-rw-r--r--lib/call-network.nix10
-rw-r--r--machines/default.nix2
3 files changed, 8 insertions, 17 deletions
diff --git a/lib/call-machine.nix b/lib/call-machine.nix
index d5b8239a..5ab0ba0f 100644
--- a/lib/call-machine.nix
+++ b/lib/call-machine.nix
@@ -1,15 +1,10 @@
-path:
-
-{ system ? builtins.currentSystem
-, extraConfig ? {}
-}:
+path: cfg:
 
 let
   nixpkgs = import ../nixpkgs-path.nix;
 
   eval = import "${nixpkgs}/nixos/lib/eval-config.nix" {
-    inherit system;
-    modules = [ path extraConfig ] ++ import ../modules/module-list.nix;
+    modules = [ path cfg ] ++ import ../modules/module-list.nix;
   };
 
   iso = mkIso "${nixpkgs}/nixos/modules/installer/cd-dvd/iso-image.nix" (
@@ -54,16 +49,14 @@ let
       };
     };
   in import "${nixpkgs}/nixos/lib/eval-config.nix" {
-    inherit system;
     modules = [ config wrapIso ];
   };
 
   config = {
-    imports = [ path extraConfig ] ++ import ../modules/module-list.nix;
+    imports = [ path cfg ] ++ import ../modules/module-list.nix;
   };
 
   vm = (import "${nixpkgs}/nixos" {
-    inherit system;
     configuration = config;
   }).vm;
 
diff --git a/lib/call-network.nix b/lib/call-network.nix
index d9e073f1..6b621357 100644
--- a/lib/call-network.nix
+++ b/lib/call-network.nix
@@ -7,12 +7,10 @@ let
 
   mkMachine = name: {
     inherit name;
-    value = import ./call-machine.nix machineAttrs.${name} ({
-      extraConfig = { lib, ... }: {
-        imports = lib.singleton (args.extraConfig or {});
-        networking.hostName = lib.mkOverride 900 name;
-        _module.args.nodes = mapAttrs (const (m: m ? eval)) machines;
-      };
+    value = import ./call-machine.nix machineAttrs.${name} ({ lib, ... }: {
+      imports = lib.singleton (args.extraConfig or {});
+      networking.hostName = lib.mkOverride 900 name;
+      _module.args.nodes = mapAttrs (const (m: m ? eval)) machines;
     } // removeAttrs args [ "extraConfig" ]);
   };
 
diff --git a/machines/default.nix b/machines/default.nix
index 2f09ffb3..bbe03087 100644
--- a/machines/default.nix
+++ b/machines/default.nix
@@ -14,7 +14,7 @@ with import ../lib;
   };
   labnet = {
     labtops = callNetwork ./labnet/labtop.nix {
-      extraConfig.vuizvui.user.openlab.labtops.enable = true;
+      vuizvui.user.openlab.labtops.enable = true;
     };
   };
   profpatsch = {