Iwd
iwd (iNet wireless daemon) is a Linux-only wireless daemon aiming to decrease the time spent making connections.
Using iwd
iwd can be enabled with the following snippet.
networking.wireless.iwd.enable = true;
Connections can be managed using the provided iwctl
tool.
iwd as backend for NetworkManager
If iwd is present, it can be used as a backend for NetworkManager through the following snippet.
networking.networkmanager.wifi.backend = "iwd";
Note that iwd is experimental and it does not have feature parity with the default backend, wpa_supplicant.
Troubleshooting
org.freedesktop.service failed
When connecting to a protected network it could happen that no password window appears and the following message is written in the journal:
dbus-daemon[1732]: [session uid=9001 pid=1730] Activated service 'org.freedesktop.secrets' failed: Failed to execute program org.freedesktop.secrets: No such file or directory
Your desktop manager may not enable some secrets management service you may need to enable one:
{
services.gnome3.gnome-keyring.enable = true;
}