diff options
| author | Collin Williams <96917990+bluedragon1221@users.noreply.github.com> | 2026-01-29 20:15:19 -0600 |
|---|---|---|
| committer | Collin Williams <96917990+bluedragon1221@users.noreply.github.com> | 2026-01-30 08:38:21 -0600 |
| commit | c9a1d2da80bca0a85e8c18f6d2db71c4d1127eda (patch) | |
| tree | 9da79e318ff0533a3708aee85a0b6a6d7f1d1036 /modules/system/nixos/networking/networkd.nix | |
| parent | c81952cbcb6c6f1b41c2b6e2a366891991cceaee (diff) | |
Spring Cleaning
- create new module, `system`, that consumes the `boot` module and takes
in the more system-interested services from the `services` module
- touch up left over services (which are more self-hosting interested)
- touch up yo and yoshi configs
Diffstat (limited to 'modules/system/nixos/networking/networkd.nix')
| -rw-r--r-- | modules/system/nixos/networking/networkd.nix | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/modules/system/nixos/networking/networkd.nix b/modules/system/nixos/networking/networkd.nix new file mode 100644 index 0000000..37b0908 --- /dev/null +++ b/modules/system/nixos/networking/networkd.nix @@ -0,0 +1,60 @@ +{ + lib, + config, + ... +}: let + cfg = config.collinux.system.network.networkd; + + 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; + }; + + systemd.network = { + enable = 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) + } + ) + // { + LinkLocalAddressing = "no"; + }; + + dhcpV4Config.UseDNS = "no"; + dhcpV6Config.UseDNS = "no"; + }; + }; + } |
