nettui 0.2.0

Unified TUI for Wi-Fi and Ethernet
Documentation

nettui is a unified terminal UI for Wi-Fi and Ethernet.

It is heavily inspired by impala and ethtui, but built as one app shell with switchable Wi-Fi and Ethernet panels.

It is primarily meant for Omarchy and tested on Omarchy, but it should also work on other Linux distributions that use the same core stack:

  • iwd
  • systemd-networkd
  • networkctl
  • Nerd Fonts

✨ Features

  • Wi-Fi and Ethernet
  • Hidden SSID connect
  • QR Wi-Fi sharing
  • Wi-Fi power toggle
  • Access point mode
  • DHCP renew
  • Configurable keybinds

💡 Prerequisites

  • Linux
  • iwd running on D-Bus
  • systemd-networkd
  • networkctl
  • Nerd Fonts recommended

[!IMPORTANT] nettui works best when iwd is the only active Wi-Fi manager. Avoid overlapping managers like NetworkManager or wpa_supplicant.

🚀 Installation

crates.io

cargo install nettui

Arch Linux (AUR source)

yay -S nettui

Arch Linux (AUR binary)

yay -S nettui-bin

🪄 Usage

nettui

On first launch, nettui creates:

~/.config/nettui/keybinds.toml

🧩 Omarchy

Official Omarchy currently launches impala for Wi-Fi:

rfkill unblock wifi
omarchy-launch-or-focus-tui impala

To switch your local Omarchy install to nettui:

sed -i 's/omarchy-launch-or-focus-tui impala/omarchy-launch-or-focus-tui nettui/g' ~/.local/share/omarchy/bin/omarchy-launch-wifi

Verify:

sed -n '1,120p' ~/.local/share/omarchy/bin/omarchy-launch-wifi

Optional Hyprland rule:

grep -q "match:class org.omarchy.nettui" ~/.config/hypr/apps/system.conf || echo "windowrule = size 1190 735, match:class org.omarchy.nettui" >> ~/.config/hypr/apps/system.conf
hyprctl reload

⌨️ Controls

Global

  • h/l or ←/→: switch tab
  • j/k or ↓/↑: move
  • r: refresh
  • q or Esc: quit

Wi-Fi

  • Tab / Shift+Tab: switch section
  • s: scan
  • Enter: connect or disconnect
  • a: show all
  • d: forget
  • y: share
  • t: autoconnect
  • n: hidden network
  • i: details
  • o: power
  • p: access point

Ethernet

  • Enter: link up/down
  • n: renew DHCP

🩺 Notes

  • Access point mode is hardware-dependent.
  • Some adapters can scan and connect normally, but still fail in AP mode.
  • For DHCP in AP mode, /etc/iwd/main.conf should enable:
[General]
EnableNetworkConfiguration=true

🔄 Restart

pkill -x nettui || true
omarchy-launch-or-focus-tui nettui

🛠️ Build

cargo build
cargo test
cargo clippy --all-targets --all-features -- -D warnings

📦 Release Asset

Always build the GitHub release tarball with:

./scripts/build-release-asset.sh

⚖️ License

nettui is licensed under GPL-3.0-only. See LICENSE.