1Introduction

A simple, CLI-only guide for connecting to WPA/WPA2 Wi‑Fi on Linux using wpa_supplicant and runit — ideal for minimal installs without NetworkManager.

2Create a WPA Passphrase Configuration

Generate the necessary WPA credentials and append them to /etc/wpa_supplicant/wpa_supplicant.conf:

sudo wpa_passphrase "YOUR_SSID" "YOUR_WIFI_PASSWORD" \
  | sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf

This ensures your SSID and password are securely hashed in the config.

3Identify Your Wi‑Fi Interface

Use ip link to find the wireless interface name (e.g. wlan0, wlp3s0, etc.):

ip link

4Launch wpa_supplicant

Replace wlan0 with your detected interface name and run:

sudo wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
  • -B runs it in the background.
  • -i specifies the interface.
  • -c points to your configuration file.

5Enable The Service Through runit

Make the Wi‑Fi configuration automatic on startup by linking the service into runit directory:

sudo ln -s /etc/sv/wpa_supplicant /var/service/

6Test The Connection

Check connectivity by pinging a reliable host:

ping noxz.tech

If packets succeed, you’re online!

7Optional: Auto-Start On Login (Per-User)

To avoid manually starting wpa_supplicant each session, add this line to your shell profile:

wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
  • Add to ~/.profile or ~/.bashrc.
  • For graphical logins via ~/.xinitrc, append the command with an & (background) at the end.