about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--lib/call-machine.nix38
-rw-r--r--machines/default.nix22
-rw-r--r--release.nix14
3 files changed, 39 insertions, 35 deletions
diff --git a/lib/call-machine.nix b/lib/call-machine.nix
index 3d524439..6061113f 100644
--- a/lib/call-machine.nix
+++ b/lib/call-machine.nix
@@ -1,14 +1,13 @@
-system: path:
+path: { system ? builtins.currentSystem }:
 
 let
   nixpkgs = import ../nixpkgs-path.nix;
 
-in rec {
-  config = import path;
-  build = import "${nixpkgs}/nixos/lib/eval-config.nix" {
+  eval = import "${nixpkgs}/nixos/lib/eval-config.nix" {
     inherit system;
-    modules = [ config ] ++ import ../modules/module-list.nix;
+    modules = [ path ] ++ import ../modules/module-list.nix;
   };
+
   iso = let
     isoModule = "${nixpkgs}/nixos/modules/installer/cd-dvd/iso-image.nix";
     patchedModule = (import nixpkgs {}).runCommand "iso-image.nix" {} ''
@@ -17,14 +16,14 @@ in rec {
           "${isoModule}" > "$out"
     '';
     wrapIso = { config, pkgs, lib, ... }@attrs: let
-      eval = (import patchedModule attrs);
-      evalcfg = eval.config or {};
-      bootcfg = evalcfg.boot or {};
-      fscfg = evalcfg.fileSystems or {};
+      patchedEval = (import patchedModule attrs);
+      patchedEvalcfg = eval.config or {};
+      bootcfg = patchedEvalcfg.boot or {};
+      fscfg = patchedEvalcfg.fileSystems or {};
     in {
-      options = eval.options or {};
-      imports = eval.imports or [];
-      config = evalcfg // {
+      options = patchedEval.options or {};
+      imports = patchedEval.imports or [];
+      config = patchedEvalcfg // {
         boot = bootcfg // lib.optionalAttrs (bootcfg ? loader) {
           loader = lib.mkForce bootcfg.loader;
         };
@@ -40,10 +39,10 @@ in rec {
   in import "${nixpkgs}/nixos/lib/eval-config.nix" {
     inherit system;
     modules = [
-      use wrapIso
+      config wrapIso
       (
         { lib, ... }: let
-          name = build.config.networking.hostName;
+          name = eval.config.networking.hostName;
           upperName = lib.toUpper name;
         in rec {
           isoImage.isoName = "${name}.iso";
@@ -55,11 +54,16 @@ in rec {
       )
     ];
   };
-  use = {
-    imports = [ config ] ++ import ../modules/module-list.nix;
+
+  config = {
+    imports = [ path ] ++ import ../modules/module-list.nix;
   };
+
   vm = (import "${nixpkgs}/nixos" {
     inherit system;
-    configuration = use;
+    configuration = config;
   }).vm;
+
+in {
+  inherit config eval iso vm;
 }
diff --git a/machines/default.nix b/machines/default.nix
index 9c2911dd..9fdd7190 100644
--- a/machines/default.nix
+++ b/machines/default.nix
@@ -1,26 +1,26 @@
 { system ? builtins.currentSystem, ... }:
 
 let
-  callMachine = import ../lib/call-machine.nix system;
+  callMachine = import ../lib/call-machine.nix;
 in {
   aszlig = {
-    dnyarri   = callMachine ./aszlig/dnyarri.nix;
-    mmrnmhrm  = callMachine ./aszlig/mmrnmhrm.nix;
-    arilou    = callMachine ./aszlig/arilou.nix;
-    kzerza    = callMachine ./aszlig/kzerza.nix;
-    tishtushi = callMachine ./aszlig/tishtushi.nix;
+    dnyarri   = callMachine ./aszlig/dnyarri.nix {};
+    mmrnmhrm  = callMachine ./aszlig/mmrnmhrm.nix {};
+    arilou    = callMachine ./aszlig/arilou.nix {};
+    kzerza    = callMachine ./aszlig/kzerza.nix {};
+    tishtushi = callMachine ./aszlig/tishtushi.nix {};
     managed = {
-      notsure = callMachine ./aszlig/managed/notsure.nix;
+      notsure = callMachine ./aszlig/managed/notsure.nix {};
     };
   };
   labnet = {
-    heinrich = callMachine ./labnet/heinrich.nix;
-    labtop   = callMachine ./labnet/labtop.nix;
+    heinrich = callMachine ./labnet/heinrich.nix {};
+    labtop   = callMachine ./labnet/labtop.nix {};
   };
   profpatsch = {
-    katara = callMachine ./profpatsch/katara.nix;
+    katara = callMachine ./profpatsch/katara.nix {};
   };
   misc = {
-    mailserver = callMachine ./misc/mailserver.nix;
+    mailserver = callMachine ./misc/mailserver.nix {};
   };
 }
diff --git a/release.nix b/release.nix
index b023ef6e..04bc5218 100644
--- a/release.nix
+++ b/release.nix
@@ -48,8 +48,8 @@ let
 
 in with pkgsUpstream.lib; with builtins; {
 
-  machines = mapAttrsRecursiveCond (m: !(m ? build)) (path: attrs:
-    attrs.build.config.system.build.toplevel
+  machines = mapAttrsRecursiveCond (m: !(m ? eval)) (path: attrs:
+    attrs.eval.config.system.build.toplevel
   ) allMachines;
 
   isoImages = let
@@ -68,9 +68,9 @@ in with pkgsUpstream.lib; with builtins; {
   in mapAttrsRecursiveCond (m: !(m ? iso)) (const buildIso) allMachines;
 
   tests = let
-    machineList = collect (m: m ? build) allMachines;
+    machineList = collect (m: m ? eval) allMachines;
     activatedTests = unique (concatMap (machine:
-      machine.build.config.vuizvui.requiresTests
+      machine.eval.config.vuizvui.requiresTests
     ) machineList);
     mkTest = path: setAttrByPath path (getAttrFromPath path allTests);
   in fold recursiveUpdate {} (map mkTest activatedTests) // {
@@ -98,10 +98,10 @@ in with pkgsUpstream.lib; with builtins; {
   in {
     generic = mkChannel {};
 
-    machines = mapAttrsRecursiveCond (m: !(m ? build)) (path: attrs: mkChannel {
+    machines = mapAttrsRecursiveCond (m: !(m ? eval)) (path: attrs: mkChannel {
       name = "machine-${last path}";
-      constituents = singleton attrs.build.config.system.build.toplevel
-                  ++ gatherTests attrs.build.config.vuizvui.requiresTests;
+      constituents = singleton attrs.eval.config.system.build.toplevel
+                  ++ gatherTests attrs.eval.config.vuizvui.requiresTests;
     }) allMachines;
   };