{ lib, ... }: with lib; let mkMachine = { name, type, opts ? { } }: rec { inherit name type opts; path = ./machines/${type}; gather = ./gathered/${name}; }; manager = mkMachine { name = "manager"; type = "manager"; }; nodes = imap0 (nodeIndex: nodeConfig: mkMachine { name = "node-${fixedWidthNumber 2 nodeIndex}"; type = "node"; opts = { inherit nodeIndex nodeConfig; }; }) (import ./machines/nodes.nix); in concatLists [ [ manager ] nodes ]