A TUI to manage your Linux system settings like wifi, bluetooth, and more, without leaving the terminal.
SetTUIngs is a keyboard-driven TUI for the everyday Linux system settings you'd otherwise dig through a GUI panel for: WiFi, Ethernet, VPN, Bluetooth, and audio. Every page is a thin, readable wrapper around the CLI tools you already have installed (nmcli, bluetoothctl, and wpctl), so there's no background daemon or D-Bus client library involved, and it always reflects whatever changed things elsewhere (a NetworkManager applet, pavucontrol, another terminal).
- WiFi: Scan, connect, and manage networks, including signal strength, security, saved passwords, and known networks, with the radio toggled on/off in one keystroke.
- Ethernet & VPN: Bring interfaces up or down and connect to VPN profiles from the same Network page.
- Bluetooth: Discover, pair, connect, trust, and forget devices, and power the adapter on/off.
- Audio: Adjust output/input volume, mute, and pick the default speaker or mic; preview a device with a test tone or a live input-level meter; control the volume of individual apps (browser tab, Spotify, etc.) independently.
- Power: Switch power profiles (performance, balanced, power-saver) and check battery charge, health, and time remaining at a glance.
- Inputs: Change the keyboard layout and adjust mouse pointer speed, via
hyprctl(Hyprland only). - Vim-like Navigation: The entire interface is keyboard-driven with Vim-inspired shortcuts. Use
h/j/k/lto move,gg/Gto jump to the top/bottom,/to search,qto close panels, and more. All keybindings are fully customizable via the config file.
Go install
go install github.com/anotherhadi/settuings/cmd/settuings@latestRequires Go 1.22+. The binary will be placed in $GOPATH/bin (or ~/go/bin).
Nix (temporary run, no install)
nix run github:anotherhadi/settuingsNixOS (flake)
Add settuings to your flake inputs:
inputs.settuings.url = "github:anotherhadi/settuings";Then add the package to your system or home-manager packages:
environment.systemPackages = [ inputs.settuings.packages.${pkgs.system}.default ];A TUI to manage your Linux system settings like wifi, bluetooth, and more, without leaving the terminal.
Usage:
settuings [flags]
Flags:
--add-default-config copy the default config file to the config path and exit
-c, --config string path to config file
-h, --help help for settuings
-p, --page string page to open at launch (About, Network, Bluetooth, Audio, Power, Inputs)
-v, --version version for settuings
| Component | Library |
|---|---|
| TUI | bubbletea |
| Styles | lipgloss |
| Config | viper |
| Plugins | gopher-lua |

