diff --git a/hosts/nixos-server-test/default.nix b/hosts/nixos-server-test/default.nix index c52fb8a..b92920a 100644 --- a/hosts/nixos-server-test/default.nix +++ b/hosts/nixos-server-test/default.nix @@ -4,10 +4,8 @@ imports = [ ../../modules/nix.nix - ../../modules/network-server.nix ../../modules/locale.nix ../../modules/server-cli.nix - ../../modules/nix.nix ../../modules/sshd.nix # Include the results of the hardware scan. ./hardware-configuration.nix @@ -39,6 +37,57 @@ services.proxmox-ve = { enable = true; ipAddress = "192.168.122.42"; + + # Make vmbr0 bridge visible in Proxmox web interface + bridges = [ "vmbr0" ]; + }; + + networking.useDHCP = false; + + systemd.network = { + enable = true; + + links."10-wan" = { + matchConfig.Path = "pci-0000:01:00.0"; + linkConfig.Name = "wan"; + }; + + networks."10-wan" = { + matchConfig.Name = "enp1s0"; + networkConfig = { + # start a DHCP Client for IPv4 Addressing/Routing + DHCP = "ipv4"; + # accept Router Advertisements for Stateless IPv6 Autoconfiguraton (SLAAC) + IPv6AcceptRA = true; + }; + # make routing on this interface a dependency for network-online.target + linkConfig.RequiredForOnline = "routable"; + }; + + + # Actually set up the vmbr0 bridge + networks."10-lan" = { + matchConfig.Name = [ "ens18" ]; + networkConfig = { + Bridge = "vmbr0"; + }; + }; + + netdevs."vmbr0" = { + netdevConfig = { + Name = "vmbr0"; + Kind = "bridge"; + }; + }; + + networks."10-lan-bridge" = { + matchConfig.Name = "vmbr0"; + networkConfig = { + IPv6AcceptRA = true; + DHCP = "ipv4"; + }; + linkConfig.RequiredForOnline = "routable"; + }; }; # This option defines the first version of NixOS you have installed on this particular machine,