diff options
Diffstat (limited to 'nixos/doc/manual/configuration/wireless.section.md')
-rw-r--r-- | nixos/doc/manual/configuration/wireless.section.md | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/nixos/doc/manual/configuration/wireless.section.md b/nixos/doc/manual/configuration/wireless.section.md new file mode 100644 index 00000000000..6b223d843ac --- /dev/null +++ b/nixos/doc/manual/configuration/wireless.section.md @@ -0,0 +1,67 @@ +# Wireless Networks {#sec-wireless} + +For a desktop installation using NetworkManager (e.g., GNOME), you just +have to make sure the user is in the `networkmanager` group and you can +skip the rest of this section on wireless networks. + +NixOS will start wpa_supplicant for you if you enable this setting: + +```nix +networking.wireless.enable = true; +``` + +NixOS lets you specify networks for wpa_supplicant declaratively: + +```nix +networking.wireless.networks = { + echelon = { # SSID with no spaces or special characters + psk = "abcdefgh"; + }; + "echelon's AP" = { # SSID with spaces and/or special characters + psk = "ijklmnop"; + }; + echelon = { # Hidden SSID + hidden = true; + psk = "qrstuvwx"; + }; + free.wifi = {}; # Public wireless network +}; +``` + +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 +`/etc/wpa_supplicant.conf`. You should edit this file yourself to define +wireless networks, WPA keys and so on (see wpa_supplicant.conf(5)). + +If you are using WPA2 you can generate pskRaw key using +`wpa_passphrase`: + +```ShellSession +$ wpa_passphrase ESSID PSK +network={ + ssid="echelon" + #psk="abcdefgh" + psk=dca6d6ed41f4ab5a984c9f55f6f66d4efdc720ebf66959810f4329bb391c5435 +} +``` + +```nix +networking.wireless.networks = { + echelon = { + pskRaw = "dca6d6ed41f4ab5a984c9f55f6f66d4efdc720ebf66959810f4329bb391c5435"; + }; +} +``` + +or you can use it to directly generate the `wpa_supplicant.conf`: + +```ShellSession +# wpa_passphrase ESSID PSK > /etc/wpa_supplicant.conf +``` + +After you have edited the `wpa_supplicant.conf`, you need to restart the +wpa_supplicant service. + +```ShellSession +# systemctl restart wpa_supplicant.service +``` |