{ lib, config, ... }: let ports = { ssh = 22; git = 9418; http = 80; https = 443; sabten = 8080; gemini = 1965; }; in { networking = { firewall = { allowedTCPPorts = [ ports.ssh ports.git ports.http ports.https ports.sabten ports.gemini ]; }; nameservers = [ "67.207.67.2" "67.207.67.3" ]; defaultGateway = "159.89.128.1"; defaultGateway6 = "2604:a880:2:d0::1"; dhcpcd.enable = false; usePredictableInterfaceNames = lib.mkForce true; interfaces = { eth0 = { ipv4.addresses = [ { address="159.89.128.69"; prefixLength=20; } { address="10.46.0.6"; prefixLength=16; } ]; ipv6.addresses = [ { address="2604:a880:2:d0::35:c001"; prefixLength = 64; } { address="fe80::e899:c0ff:fe9c:e194"; prefixLength = 64; } ]; }; }; }; services.udev.extraRules = '' ATTR{address}=="ea:99:c0:9c:e1:94", NAME="eth0" ''; }