{ config, lib, pkgs, ... }: { networking = { # Host IP configuration hostId = "f9781b24"; hostName = "casa"; interfaces.enp35s0.useDHCP = false; interfaces.enp35s0d1.useDHCP = false; interfaces.wan.useDHCP = true; interfaces.lan.ipv4.addresses = [{ address = "10.10.100.1"; prefixLength = 22; }]; interfaces.guest.ipv4.addresses = [{ address = "10.10.104.1"; prefixLength = 22; }]; interfaces.iot.ipv4.addresses = [{ address = "10.10.108.1"; prefixLength = 22; }]; interfaces.mgmt.ipv4.addresses = [{ address = "10.10.112.1"; prefixLength = 24; }]; interfaces.eoc.ipv4.addresses = [{ address = "10.10.113.1"; prefixLength = 24; }]; resolvconf.useLocalResolver = true; useDHCP = false; # VLAN configuration vlans = { wan = { id=99; interface="enp35s0"; }; lan = { id=100; interface="enp35s0"; }; guest = { id=104; interface="enp35s0"; }; iot = { id=108; interface="enp35s0"; }; mgmt = { id=112; interface="enp35s0"; }; eoc = { id=113; interface="enp35s0"; }; }; # Set up hosts file extraHosts = '' # wireguard 10.25.0.1 crimson 10.25.0.2 phone 10.25.0.3 lasciel 10.25.0.4 storage 10.25.0.5 docker 10.25.0.6 anduriel 10.25.0.10 atom 10.25.0.11 dietpi 10.25.0.12 casa 10.25.0.13 daycareroom 10.25.0.15 nuc 10.25.0.16 home-sw1 10.25.0.17 grandma 10.25.0.19 learn 10.25.0.20 ingress # home 10.10.113.50 home-eoc1 ''; }; services = { # Enable vnstat interface monitoring daemon vnstat.enable = true; }; }