From cc1251b631e8041547e6b63115bbb14c008626fa Mon Sep 17 00:00:00 2001 From: Hoang Nguyen Date: Mon, 25 Aug 2025 13:43:31 +0700 Subject: [PATCH] nixos/iwd: fix DriverQuirks.DefaultInterface config option [DriverQuirks].DefaultInterface option accepts a comma-separated list of drivers or glob matches as its value. --- nixos/modules/services/networking/iwd.nix | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) 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. ''; } ];