Networking
WiFi with iwd
The laptop uses iwd (iNet Wireless Daemon) instead of wpa_supplicant or NetworkManager:
nix
networking.wireless.iwd = {
enable = true;
settings = {
general = {
EnableNetworkConfiguration = true;
AddressRandomization = "network";
};
network = {
NameResolvingService = "resolvconf";
};
};
};Configuration Details
| Setting | Value | Effect |
|---|---|---|
EnableNetworkConfiguration | true | iwd handles DHCP directly (no NetworkManager needed) |
AddressRandomization | "network" | MAC address is randomised per network SSID |
NameResolvingService | "resolvconf" | DNS resolution via resolvconf |
MAC Randomisation
The "network" randomisation mode generates a persistent random MAC for each SSID. This means:
- You get a different MAC on every network you connect to.
- The MAC is stable for a given SSID (so DHCP leases persist).
- Your hardware MAC is never exposed on the air.
Why iwd over NetworkManager?
iwd is leaner (single binary, no D-Bus dependency for basic operation) and handles network configuration natively without needing a separate DHCP client.
IPv6
IPv6 is disabled:
nix
networking.enableIPv6 = false;WiFi Management
The impala TUI is included in packages for interactive WiFi management:
bash
impala # Launch WiFi TUIFor command-line management, use iwctl directly:
bash
iwctl station wlan0 scan
iwctl station wlan0 get-networks
iwctl station wlan0 connect "SSID"