let hosts = { hainich = { ssh.host = "hainich.hacc.space"; channel = "nixos-unstable"; groups = [ "server" "hacc" ]; }; nixda = { ssh.host = "nixda.hacc.space"; channel = "nixos-20.09"; groups = [ "server" "hacc" "live" ]; }; }; pkgs = import {}; evalConfig = import ; lib = pkgs.lib; in lib.mapAttrs (name: host: host // { config = if (host ? config) then host.config else (evalConfig { modules = [ (import "${toString ./.}/${name}/configuration.nix") ]; }).config; }) hosts