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