{ lib, config, ... }: with lib; let cfg = config.wireless.wifi; in { options = { wireless.wifi.enable = mkEnableOption "enables wifi with iwd and MAC address randomisation"; }; config = mkIf cfg.enable { networking = { networkmanager.wifi = { backend = "iwd"; macAddress = "random"; scanRandMacAddress = true; }; wireless.iwd = { enable = true; settings = { General.AddressRandomization = "network"; Settings.AlwaysRandomizeAddress = true; }; }; }; }; }