{ 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"; }; }