NetworkManager is the recommended networking stack for any Arch system with more than one network (laptop, dock, wifi + ethernet). It handles wifi, wired, VPN, and DNS without you editing /etc/network/interfaces-style files.
Prerequisites
- Arch Linux with
sudo. - A wifi or ethernet adapter visible in
ip link.
Step 1: Install and enable
sudo pacman -S networkmanager
sudo systemctl enable --now NetworkManager
sudo systemctl status NetworkManager --no-pager
If you previously had dhcpcd or systemd-networkd running, disable them first to avoid them fighting NetworkManager:
sudo systemctl disable --now dhcpcd
sudo systemctl disable --now systemd-networkd systemd-resolved
Step 2: nmcli — the CLI you actually use
nmcli device # list interfaces
nmcli connection show # list saved profiles
nmcli connection show --active # active ones
nmcli general status # quick summary
Step 3: Connect to wifi
nmcli device wifi list
nmcli device wifi connect "MyWifi-SSID" password 'wifi-secret'
# Or for hidden SSID:
nmcli device wifi connect "Hidden-SSID" password 'secret' hidden yes
The credentials are stored under /etc/NetworkManager/system-connections/ (root-only, mode 0600).
Step 4: Static IP on a wired link
# Find the active connection name
nmcli connection show
# Update the wired connection (replace 'Wired connection 1')
nmcli connection modify "Wired connection 1" \
ipv4.method manual \
ipv4.addresses 10.0.10.42/24 \
ipv4.gateway 10.0.10.1 \
ipv4.dns "1.1.1.1 8.8.8.8" \
ipv4.dns-search example.sa
nmcli connection down "Wired connection 1"
nmcli connection up "Wired connection 1"
Step 5: VPN — Wireguard or OpenVPN
# Wireguard from a .conf file
sudo nmcli connection import type wireguard file /etc/wireguard/work.conf
nmcli connection up wireguard-work
# OpenVPN
sudo pacman -S networkmanager-openvpn
sudo nmcli connection import type openvpn file ~/work.ovpn
nmcli connection up work
Step 6: nmtui — the curses UI
If nmcli syntax is too much:
nmtui
A simple keyboard-driven menu for the most common operations.
Verify
nmcli general status
nmcli connection show --active
ip -brief address
resolvectl status # if systemd-resolved is in the loop
ping -c 2 1.1.1.1
ping -c 2 archlinux.org
Conclusion
NetworkManager is the right pick on laptops and on any host that ever moves between networks. nmcli is scriptable, nmtui is friendly, and the saved profiles in /etc/NetworkManager/system-connections/ are a single directory you can check into a private dotfiles repo.
Next steps
- Install Arch first with step-by-step install.
- Manage packages via pacman + AUR.
- For dedicated servers without wifi/movement,
systemd-networkdis lighter — see the systemd guide.
Comments
0 total · 0 threads