25 lines
689 B
Nix
25 lines
689 B
Nix
let
|
|
hosts = {
|
|
hainich = {
|
|
ssh.host = "hainich.hacc.space";
|
|
groups = [ "server" "hacc" ];
|
|
};
|
|
nixda = {
|
|
ssh.host = "nixda.hacc.space";
|
|
groups = [ "server" "desktop" "hacc" "live" ];
|
|
};
|
|
"cdn/node-1" = {
|
|
ssh.host = "cdn-node-1.live.hacc.media";
|
|
groups = [ "server" "hacc" "live" "livecdn" "livecdn-node" ];
|
|
};
|
|
};
|
|
pkgs = import <nixpkgs> {};
|
|
evalConfig = import <nixpkgs/nixos/lib/eval-config.nix>;
|
|
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
|