{ lib, ... }: { imports = [ ]; boot = { loader.systemd-boot.enable = true; loader.efi.canTouchEfiVariables = true; initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ]; initrd.kernelModules = [ ]; kernelModules = [ "kvm-amd" ]; extraModulePackages = [ ]; }; mySystem = { services.openssh.enable = true; security.wheelNeedsSudoPassword = false; }; systemd.network = { enable = true; # Create bond0 device netdevs = { "10-bond0" = { netdevConfig = { Kind = "bond"; Name = "bond0"; }; bondConfig = { Mode = "802.3ad"; TransmitHashPolicy = "layer3+4"; LACPTransmitRate = "fast"; MIIMonitorSec = "100ms"; }; }; }; # Attach nics to bond0 networks = { "30-enp36s0f0" = { matchConfig.Name = "enp36s0f0"; networkConfig.Bond = "bond0"; }; "30-enp36s0f1" = { matchConfig.Name = "enp36s0f1"; networkConfig.Bond = "bond0"; }; "40-bond0" = { matchConfig.Name = "bond0"; address = [ "10.1.1.61/24" ]; routes = [ { Gateway = "10.1.1.1"; } ]; networkConfig = { LinkLocalAddressing = "no"; DNS = "10.1.1.1"; Domains = "hsn.internal"; }; linkConfig.RequiredForOnline = "routable"; }; }; }; networking = { useDHCP = lib.mkDefault false; nftables.enable = true; }; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; }