diff options
| author | Collin Williams <96917990+bluedragon1221@users.noreply.github.com> | 2026-02-27 07:57:56 -0600 |
|---|---|---|
| committer | Collin Williams <96917990+bluedragon1221@users.noreply.github.com> | 2026-02-27 07:57:56 -0600 |
| commit | c303524a359d2be84d825acebbf8d7e2ddd8f24a (patch) | |
| tree | af7a7537703b7989dff65478a26f5637c0d1abbd /modules/system/nixos/networking/networkd.nix | |
| parent | 1932c82d72fb74971b180f84e06bcd1724e6271b (diff) | |
refactor network config, add wireguard connection to vps
Diffstat (limited to 'modules/system/nixos/networking/networkd.nix')
| -rw-r--r-- | modules/system/nixos/networking/networkd.nix | 74 |
1 files changed, 31 insertions, 43 deletions
diff --git a/modules/system/nixos/networking/networkd.nix b/modules/system/nixos/networking/networkd.nix index d0e9eed..2c7f580 100644 --- a/modules/system/nixos/networking/networkd.nix +++ b/modules/system/nixos/networking/networkd.nix @@ -1,56 +1,44 @@ { - lib, + # lib, config, ... }: let - cfg = config.collinux.system.network.networkd; - + cfg = config.collinux.system.network; dhcp_enabled = cfg.static == null; -in - lib.mkIf cfg.enable { - networking = { - wireless = - if !config.collinux.system.network.iwd.enable - then { - enable = true; - networks.${cfg.ssid}.pskRaw = "ext:psk"; - secretsFile = cfg.pskFile; - } - else {}; - - useNetworkd = true; - # Disable default networking stuff - dhcpcd.enable = false; - useDHCP = false; - networkmanager.enable = false; - }; + device = + if (cfg.wireless == null) + then "eth0" + else "wl*"; +in { + networking.useNetworkd = true; + systemd.network = { + enable = true; - systemd.network = { + wait-online = { enable = true; + ignoredInterfaces = ["docker0"]; + anyInterface = true; + }; - wait-online = { - enable = true; - ignoredInterfaces = ["docker0"]; - anyInterface = true; - }; - - networks."11-lan" = { - name = "wl*"; - - networkConfig = ( - if dhcp_enabled - then {DHCP = "yes";} - else { - Address = cfg.static.ip; - Gateway = cfg.static.gateway; - DHCP = "no"; - # DNS is managed by systemd-resolved (not specified here) - } - ); + networks."11-default" = + if dhcp_enabled + then { + name = device; + networkConfig.DHCP = "yes"; + # never accept dhcp dns dhcpV4Config.UseDNS = "no"; dhcpV6Config.UseDNS = "no"; + } + else { + name = device; + networkConfig = { + Address = cfg.static.ip; + Gateway = cfg.static.gateway; + DHCP = "no"; + # DNS is managed by systemd-resolved (not specified here) + }; }; - }; - } + }; +} |
