blob: f65b1156c13bfcb6a53597947e148ab298d40a34 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
path: args:
let
machineAttrs = import path;
machineNames = builtins.attrNames machineAttrs;
mkMachine = name: {
inherit name;
value = import ./call-machine.nix machineAttrs.${name} ({ lib, ... }: {
imports = lib.singleton (args.extraConfig or {});
networking.hostName = lib.mkOverride 900 name;
_module.args.nodes = lib.mapAttrs (lib.const (m: m ? eval)) machines;
} // removeAttrs args [ "extraConfig" ]);
};
machines = builtins.listToAttrs (map mkMachine machineNames);
in machines
|