let hosts = { yule = { ssh.host = "kat@yule"; groups = [ "desktop" "personal" ]; }; beltane = { ssh.host = "kat@beltane"; groups = [ "server" "personal" ]; }; samhain = { ssh.host = "kat@samhain"; groups = [ "desktop" "personal" ]; }; litha = { ssh.host = "root@litha"; groups = [ "desktop" "personal" ]; }; }; 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