183 lines
3.8 KiB
Nix
183 lines
3.8 KiB
Nix
{
|
|
locations = {
|
|
cloud = {
|
|
owner = "yaro";
|
|
subnets = {
|
|
dmz = {
|
|
systems = {
|
|
janus = {
|
|
primary = true;
|
|
macAddresses = [ "AA:BB:CC:DD:EE:FF" ];
|
|
};
|
|
};
|
|
};
|
|
main = {
|
|
systems = {
|
|
metatron = {
|
|
primary = true;
|
|
macAddresses = [ "11:22:33:44:55:66" ];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
home = {
|
|
owner = "yaro";
|
|
subnets = {
|
|
open = {
|
|
managed = false;
|
|
systems = {
|
|
io = {
|
|
useDHCP = true;
|
|
macAddresses = [ "DD:DD:DD:DD:DD:DD" ];
|
|
};
|
|
};
|
|
};
|
|
dmz = {
|
|
isVLAN = true;
|
|
systems = {
|
|
io = {
|
|
primary = true;
|
|
macAddresses = [ "12:34:56:78:9A:BC" ];
|
|
};
|
|
europa = {
|
|
macAddresses = [ "FE:DC:BA:98:76:54" ];
|
|
};
|
|
deimos = {
|
|
primary = true;
|
|
macAddresses = [ "AA:AA:AA:AA:AA:AA" ];
|
|
};
|
|
};
|
|
};
|
|
main = {
|
|
users = [
|
|
"alice"
|
|
"bob"
|
|
];
|
|
isVLAN = true;
|
|
systems = {
|
|
europa = {
|
|
primary = true;
|
|
macAddresses = [ "BB:BB:BB:BB:BB:BB" ];
|
|
};
|
|
phobos = {
|
|
primary = true;
|
|
macAddresses = [ "CC:CC:CC:CC:CC:CC" ];
|
|
};
|
|
terra = {
|
|
primary = true;
|
|
macAddresses = [ "EE:EE:EE:EE:EE:EE" ];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
systems = {
|
|
janus = {
|
|
owner = "yaro";
|
|
nixOS = true;
|
|
role = "infrastructure";
|
|
tags = [ "router" "linode" ];
|
|
services = [ "nginx-proxy" "headscale" ];
|
|
config = { ... }: {
|
|
# NixOS config here, or use a path to one.
|
|
};
|
|
};
|
|
metatron = {
|
|
owner = "yaro";
|
|
nixOS = true;
|
|
role = "server";
|
|
tags = [ "server" "linode" "upstream" ];
|
|
config = { ... }: {
|
|
# NixOS config here, or use a path to one.
|
|
};
|
|
};
|
|
io = {
|
|
owner = "yaro";
|
|
nixOS = true;
|
|
role = "infrastructure";
|
|
tags = [ "router" "downstream" ];
|
|
config = { ... }: {
|
|
# NixOS config here, or use a path to one.
|
|
};
|
|
};
|
|
europa = {
|
|
owner = "yaro";
|
|
nixOS = true;
|
|
role = "infrastructure";
|
|
tags = [ "router" "downstream" ];
|
|
config = { ... }: {
|
|
# NixOS config here, or use a path to one.
|
|
};
|
|
};
|
|
deimos = {
|
|
owner = "yaro";
|
|
nixOS = true;
|
|
role = "server";
|
|
tags = [ "server" ];
|
|
servicesPlane = "janus";
|
|
hostPlane = "deimos";
|
|
services = [
|
|
"nextcloud"
|
|
"yaro-site"
|
|
"vaultwarden"
|
|
"jellyfin"
|
|
"forgejo"
|
|
"headscale"
|
|
];
|
|
config = { ... }: {
|
|
# NixOS config here, or use a path to one.
|
|
};
|
|
};
|
|
phobos = {
|
|
owner = "yaro";
|
|
nixOS = true;
|
|
role = "server";
|
|
tags = [ "server" ];
|
|
servicesPlane = "deimos";
|
|
services = [
|
|
"mosquitto"
|
|
"home-assistant"
|
|
"sandbox"
|
|
"node-red"
|
|
];
|
|
config = { ... }: {
|
|
# NixOS config here, or use a path to one.
|
|
};
|
|
};
|
|
terra = {
|
|
owner = "yaro";
|
|
nixOS = false;
|
|
role = "infrastructure";
|
|
};
|
|
};
|
|
|
|
users = {
|
|
yaro = { };
|
|
alice = { };
|
|
bob = { };
|
|
};
|
|
|
|
group = {
|
|
userGroups = {
|
|
programmers = {
|
|
config = { ... }: {
|
|
# Home-manager config here, or use a path to one.
|
|
};
|
|
};
|
|
};
|
|
systemGroups = {
|
|
storage = {
|
|
services = [
|
|
"nfs"
|
|
"isci"
|
|
];
|
|
config = { ... }: {
|
|
# Home-manager config here, or use a path to one.
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|