83 lines
1.7 KiB
Nix
83 lines
1.7 KiB
Nix
|
{
|
||
|
lib,
|
||
|
config,
|
||
|
inputs,
|
||
|
...
|
||
|
}: {
|
||
|
nodes.internet = config.lib.topology.mkInternet {};
|
||
|
|
||
|
nodes.tailnet = {
|
||
|
name = "tailnet";
|
||
|
hardware.info = "Tailscale Private Network";
|
||
|
deviceType = "internet";
|
||
|
hardware.image = config.nodes.internet.hardware.image;
|
||
|
interfaces."*" = {};
|
||
|
};
|
||
|
|
||
|
nodes.den-den-mushi = {
|
||
|
deviceType = "router";
|
||
|
hardware.info = "AVM FRITZ!Box 7530";
|
||
|
interfaces = {
|
||
|
dsl0 = {
|
||
|
icon = "interfaces.ethernet";
|
||
|
mac = "AC:9A:96:11:22:33";
|
||
|
physicalConnections = [
|
||
|
{
|
||
|
node = "internet";
|
||
|
interface = "*";
|
||
|
}
|
||
|
];
|
||
|
};
|
||
|
lan1 = {
|
||
|
mac = "DC:39:6F:19:9B:84";
|
||
|
network = "home";
|
||
|
};
|
||
|
lan2 = {
|
||
|
mac = "DC:39:6F:19:9B:84";
|
||
|
network = "home";
|
||
|
};
|
||
|
lan3 = {
|
||
|
mac = "DC:39:6F:19:9B:84";
|
||
|
network = "home";
|
||
|
};
|
||
|
lan4 = {
|
||
|
mac = "DC:39:6F:19:9B:84";
|
||
|
network = "home";
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
nodes.home-ap = {
|
||
|
deviceType = "switch";
|
||
|
hardware.info = "Ubiquiti AP Unifi U6+";
|
||
|
interfaces = {
|
||
|
wifi = {
|
||
|
icon = "interfaces.wifi";
|
||
|
};
|
||
|
lan1 = {
|
||
|
physicalConnections = [
|
||
|
{
|
||
|
node = "den-den-mushi";
|
||
|
interface = "lan1";
|
||
|
}
|
||
|
];
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
nixosConfigurations = let
|
||
|
filterFn = name: _: !(builtins.elem name ["radix-balthica" "trochulus-hispidus"]);
|
||
|
in
|
||
|
lib.mkForce (lib.filterAttrs filterFn inputs.self.nixosConfigurations);
|
||
|
|
||
|
networks.home = {
|
||
|
name = "Home Network";
|
||
|
cidrv4 = "192.168.1.0/24";
|
||
|
cidrv6 = "2003:c7:cf11:4200::1/60";
|
||
|
};
|
||
|
networks.tailnet = {
|
||
|
name = "Tailscale Network";
|
||
|
cidrv4 = "100.0.0.0/8";
|
||
|
};
|
||
|
}
|