diff --git a/nixos/modules/services/networking/iwd.nix b/nixos/modules/services/networking/iwd.nix index e275e7906ad5..32ebf4a859ab 100644 --- a/nixos/modules/services/networking/iwd.nix +++ b/nixos/modules/services/networking/iwd.nix @@ -13,17 +13,18 @@ let mkOption types recursiveUpdate + optionalAttrs ; cfg = config.networking.wireless.iwd; ini = pkgs.formats.ini { }; - defaults = { - # without UseDefaultInterface, sometimes wlan0 simply goes AWOL with NetworkManager - # https://iwd.wiki.kernel.org/interface_lifecycle#interface_management_in_iwd - DriverQuirks.UseDefaultInterface = - with config.networking.networkmanager; - (enable && (wifi.backend == "iwd")); - }; + defaults = + with config.networking.networkmanager; + optionalAttrs (enable && (wifi.backend == "iwd")) { + # without DefaultInterface, sometimes wlan0 simply goes AWOL with NetworkManager + # https://iwd.wiki.kernel.org/interface_lifecycle#interface_management_in_iwd + DriverQuirks.DefaultInterface = "?*"; + }; configFile = ini.generate "main.conf" (recursiveUpdate defaults cfg.settings); in @@ -64,7 +65,7 @@ in { assertion = !(cfg.settings ? General && cfg.settings.General ? UseDefaultInterface); message = '' - `networking.wireless.iwd.settings.General.UseDefaultInterface` has been deprecated. Use `networking.wireless.iwd.settings.DriverQuirks.UseDefaultInterface` instead. + `networking.wireless.iwd.settings.General.UseDefaultInterface` has been deprecated. Use `networking.wireless.iwd.settings.DriverQuirks.DefaultInterface` instead. ''; } ];