haccfiles/configuration/hosts/default.nix

34 lines
977 B
Nix
Raw Normal View History

2020-11-27 20:56:20 +00:00
let
hosts = {
hainich = {
ssh.host = "hainich.hacc.space";
groups = [ "server" "hacc" ];
};
nixda = {
ssh.host = "nixda.hacc.space";
2020-11-29 01:41:34 +00:00
groups = [ "server" "desktop" "hacc" "live" ];
};
2020-11-29 02:20:43 +00:00
"cdn/node-2" = {
ssh.host = "cdn-node-2.live.hacc.media";
groups = [ "server" "hacc" "live" "livecdn" "livecdn-node" ];
};
2020-11-29 01:41:34 +00:00
"cdn/node-1" = {
ssh.host = "cdn-node-1.live.hacc.media";
groups = [ "server" "hacc" "live" "livecdn" "livecdn-node" ];
2020-11-27 20:56:20 +00:00
};
2020-11-29 02:10:11 +00:00
"cdn/master" = {
ssh.host = "cdn-master.live.hacc.media";
groups = [ "server" "hacc" "live" "livecdn" "livecdn-master" ];
};
2020-11-27 20:56:20 +00:00
};
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