<section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude" version="5.0" xml:id="sec-wireless"> <title>Wireless Networks</title> <para>For a desktop installation using NetworkManager (e.g., GNOME), you just have to make sure the user is in the <code>networkmanager</code> group and you can skip the rest of this section on wireless networks.</para> <para> NixOS will start wpa_supplicant for you if you enable this setting: <programlisting> networking.wireless.enable = true; </programlisting> NixOS lets you specify networks for wpa_supplicant declaratively: <programlisting> networking.wireless.networks = { echelon = { psk = "abcdefgh"; }; "free.wifi" = {}; } </programlisting> Be aware that keys will be written to the nix store in plaintext! When no networks are set, it will default to using a configuration file at <literal>/etc/wpa_supplicant.conf</literal>. You should edit this file yourself to define wireless networks, WPA keys and so on (see wpa_supplicant.conf(5)). </para> <para> If you are using WPA2 the <command>wpa_passphrase</command> tool might be useful to generate the <literal>wpa_supplicant.conf</literal>. <screen> # wpa_passphrase ESSID PSK > /etc/wpa_supplicant.conf</screen> After you have edited the <literal>wpa_supplicant.conf</literal>, you need to restart the wpa_supplicant service. <screen> # systemctl restart wpa_supplicant.service</screen> </para> </section>