diff options
| author | yokai <accounts.8ef6c@simplelogin.com> | 2026-08-04 17:05:42 -0500 |
|---|---|---|
| committer | yokai <accounts.8ef6c@simplelogin.com> | 2026-08-04 17:05:42 -0500 |
| commit | a7adbd5063fe7ab428d8174cb9b31bec2c6133d6 (patch) | |
| tree | 6b11a725c098affa8eb7b1b9251112efcd24a1df /common/lan-discovery.nix | |
| parent | b47ca1475decf1a98f10231f0cbeebfb75e7f6ea (diff) | |
common: parameterize LAN discovery interfacekusanagi-ollama-lan-firewall
Let the shared LAN discovery module use each host's Wi-Fi interface instead of assuming kusanagi's wlp8s0 everywhere. Set kusanagi to wlp8s0 and enzo to wlp1s0.
Reuse the same setting for kusanagi's Ollama LAN firewall rule so the service opening stays tied to the declared LAN interface.
Assisted-by: OpenAI:gpt-5
Diffstat (limited to 'common/lan-discovery.nix')
| -rw-r--r-- | common/lan-discovery.nix | 42 |
1 files changed, 28 insertions, 14 deletions
diff --git a/common/lan-discovery.nix b/common/lan-discovery.nix index f12971f..9341245 100644 --- a/common/lan-discovery.nix +++ b/common/lan-discovery.nix @@ -1,22 +1,36 @@ # LAN reachability and mDNS discovery shared by all machines. -{ ... }: +{ + config, + lib, + ... +}: +let + cfg = config.lanDiscovery; +in { - # Allow IPv4 ICMP echo requests so hosts can be found with ping. - networking.firewall.allowPing = true; + options.lanDiscovery.interface = lib.mkOption { + type = lib.types.str; + description = "Wi-Fi LAN interface used for mDNS discovery."; + }; + + config = { + # Allow IPv4 ICMP echo requests so hosts can be found with ping. + networking.firewall.allowPing = true; - # Avahi/mDNS: publish <hostname>.local and resolve other *.local LAN names. - # Keep the multicast DNS firewall opening scoped to the Wi-Fi LAN interface. - networking.firewall.interfaces.wlp8s0.allowedUDPPorts = [ 5353 ]; - services.avahi = { - enable = true; - nssmdns4 = true; - openFirewall = false; - allowInterfaces = [ "wlp8s0" ]; - publish = { + # Avahi/mDNS: publish <hostname>.local and resolve other *.local LAN names. + # Keep the multicast DNS firewall opening scoped to the host's Wi-Fi LAN interface. + networking.firewall.interfaces.${cfg.interface}.allowedUDPPorts = [ 5353 ]; + services.avahi = { enable = true; - addresses = true; - workstation = true; + nssmdns4 = true; + openFirewall = false; + allowInterfaces = [ cfg.interface ]; + publish = { + enable = true; + addresses = true; + workstation = true; + }; }; }; } |
