let buildMachine = machines: machineName: config: let cfg = if builtins.isPath config then import config else config; in (import (cfg // { extraArgs = { inherit machineName machines; } // cfg.extraArgs; })); buildMachines = machines: let machinesEval = builtins.mapAttrs (buildMachine machinesEval) machines; in builtins.mapAttrs (n: eval: eval.config) machinesEval; in buildMachines { mermet = machines/mermet.nix; losurdo = machines/losurdo.nix; }