diff --git a/nixos/modules/services/networking/wpa_supplicant.nix b/nixos/modules/services/networking/wpa_supplicant.nix
index 8a0685c3d96..c0a4ce40760 100644
--- a/nixos/modules/services/networking/wpa_supplicant.nix
+++ b/nixos/modules/services/networking/wpa_supplicant.nix
@@ -42,6 +42,11 @@ in {
description = ''
The interfaces wpa_supplicant will use. If empty, it will
automatically use all wireless interfaces.
+
+ The automatic discovery of interfaces does not work reliably on boot:
+ it may fail and leave the system without network. When possible, specify
+ a known interface name.
+
'';
};
@@ -225,6 +230,14 @@ in {
message = ''options networking.wireless."${name}".{psk,pskRaw,auth} are mutually exclusive'';
});
+ warnings =
+ optional (cfg.interfaces == [] && config.systemd.services.wpa_supplicant.wantedBy != [])
+ ''
+ No network interfaces for wpa_supplicant have been configured: the service
+ may randomly fail to start at boot. You should specify at least one using the option
+ networking.wireless.interfaces.
+ '';
+
environment.systemPackages = [ package ];
services.dbus.packages = [ package ];