Noel PaulMost desktop Linux users on tiling window managers like Hyprland, Sway, or i3 face the same dilemma:...
Most desktop Linux users on tiling window managers like Hyprland, Sway, or i3 face the same dilemma: either memorize dozens of CLI arguments across nmcli, bluetoothctl, wpctl, and systemctl, or pull in heavy 500MB+ GUI control centers from GNOME or KDE.
I built settings-tui to bridge that gap with a unified, hyper-lightweight (<9MB, near 0% idle CPU) terminal control center written in Rust with Ratatui.
Rather than blindly executing shell commands and assuming success, settings-tui implements a transactional lifecycle:
READ CURRENT STATE -> MUTATE -> BOUNDED PROPAGATION WAIT -> READ CANONICAL STATE -> VERIFY POSTCONDITION.
If a Wi-Fi authentication fails or a PipeWire node does not accept a volume change, the TUI transparently reports the exact status badge.
You can try it instantly without compiling:
npx settings-tui
Or install from source:
git clone https://github.com/ziuus/settings-tui.git
cd settings-tui && cargo run --release
GitHub Repository: https://github.com/ziuus/settings-tui
Contributions, ideas, and feedback are welcome!