about summary refs log tree commit diff
path: root/machines/default.nix
diff options
context:
space:
mode:
authoraszlig <aszlig@redmoonstudios.org>2015-12-10 07:14:00 +0100
committeraszlig <aszlig@redmoonstudios.org>2015-12-10 07:14:00 +0100
commitbbafadb193a03c5d6757e2b3f409c96884571f01 (patch)
tree2a245d0df20fa42ae478b92d8f5edbfd73880f4a /machines/default.nix
parentd9d59024954b5cc524285df3529a6d6b44263f94 (diff)
machines: Move callMachine function to lib/.
The function is gettin rather large, so it makes sense to move it into
another file so that the default.nix in machines/ won't be cluttered up
with all the implementation-specific details.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Diffstat (limited to 'machines/default.nix')
-rw-r--r--machines/default.nix64
1 files changed, 1 insertions, 63 deletions
diff --git a/machines/default.nix b/machines/default.nix
index 0906a5e9..9c2911dd 100644
--- a/machines/default.nix
+++ b/machines/default.nix
@@ -1,69 +1,7 @@
 { system ? builtins.currentSystem, ... }:
 
 let
-  nixpkgs = import ../nixpkgs-path.nix;
-
-  callMachine = path: rec {
-    config = import path;
-    build = import "${nixpkgs}/nixos/lib/eval-config.nix" {
-      inherit system;
-      modules = [ config ] ++ import ../modules/module-list.nix;
-    };
-    iso = let
-      isoModule = "${nixpkgs}/nixos/modules/installer/cd-dvd/iso-image.nix";
-      patchedModule = (import nixpkgs {}).runCommand "iso-image.nix" {} ''
-        sed -e 's|../../../lib/|${nixpkgs}/nixos/lib/|g' \
-            -e 's/"nomodeset"//g' \
-            "${isoModule}" > "$out"
-      '';
-      wrapIso = { config, pkgs, lib, ... }@attrs: let
-        eval = (import patchedModule attrs);
-        evalcfg = eval.config or {};
-        bootcfg = evalcfg.boot or {};
-        fscfg = evalcfg.fileSystems or {};
-      in {
-        options = eval.options or {};
-        imports = eval.imports or [];
-        config = evalcfg // {
-          boot = bootcfg // lib.optionalAttrs (bootcfg ? loader) {
-            loader = lib.mkForce bootcfg.loader;
-          };
-          fileSystems = lib.mapAttrs (lib.const lib.mkForce) fscfg // {
-            "/boot" = lib.mkForce (fscfg."/boot" or {
-              device = "none";
-              fsType = "none";
-              options = "noauto";
-            });
-          };
-        };
-      };
-    in import "${nixpkgs}/nixos/lib/eval-config.nix" {
-      inherit system;
-      modules = [
-        use wrapIso
-        (
-          { lib, ... }: let
-            name = build.config.networking.hostName;
-            upperName = lib.toUpper name;
-          in rec {
-            isoImage.isoName = "${name}.iso";
-            isoImage.volumeID = builtins.substring 0 11 "${upperName}_LIVE";
-            isoImage.makeEfiBootable = true;
-            isoImage.makeUsbBootable = true;
-            isoImage.appendToMenuLabel = " \"${name}\" Live System";
-          }
-        )
-      ];
-    };
-    use = {
-      imports = [ config ] ++ import ../modules/module-list.nix;
-    };
-    vm = (import "${nixpkgs}/nixos" {
-      inherit system;
-      configuration = use;
-    }).vm;
-  };
-
+  callMachine = import ../lib/call-machine.nix system;
 in {
   aszlig = {
     dnyarri   = callMachine ./aszlig/dnyarri.nix;