The Missing Native Control Center for Linux Power Users
See the codesettings-tui)
Stop juggling 10 different command-line utilities.
settings-tui brings the full functionality and polish of modern graphical control centers (GNOME Settings, KDE System Settings) straight to your terminal. Control your network, audio, displays, power, Bluetooth, systemd units, and desktop themes through a unified, keyboard-driven interface.
Quick Start • Why settings-tui? • Features • Keybindings • Contributing
settings-tui is engineered specifically for minimalists, tiling window manager users, and performance purists who refuse to install heavy GUI toolkits just to change a setting.
settings-tui only runs when you open it. It does not spawn background processes, run node runtimes, or leak memory.| Pain Point with Existing Setup | With settings-tui |
|---|---|
Memorizing syntax for nmcli, bluetoothctl, wpctl, brightnessctl, hyprctl, and systemctl | One unified TUI covering all system settings |
| Heavy Electron apps or GNOME/KDE control centers requiring 500MB+ dependencies on minimal window managers | Pure Rust binary, sub-15ms startup, near 0% idle CPU & RAM usage, zero desktop environment lock-in |
| Shell scripts that blindly run commands and assume they worked | Transactional engine (READ -> MUTATE -> READBACK -> VERIFY) ensuring state changes actually succeeded |
| Clunky network connection prompts popping up outside your terminal | Interactive masked password dialogs, Wi-Fi frequency & security inspection built-in |
| Hidden or broken features failing silently on different distros | Transparent Capability Matrix with honest badges ([~], [*], [R]) so you know what is supported |
You can launch settings-tui immediately without compiling:
npx settings-tui
npm install -g settings-tui
# Launch anytime:
settings-tui
# Or simply:
settings
git clone https://github.com/ziuus/settings-tui.git
cd settings-tui
cargo build --release
sudo make install
cd extra && makepkg -si
[████] 84%), frequency band detection (5 GHz vs 2.4 GHz), and security tags (WPA2/WPA3, WEP, Open).••••••••), Tab show/hide toggle, and Esc cancel./etc/resolv.conf.Backspace/Delete confirmation to forget saved Wi-Fi profiles.5.79 W), factory design Wh vs full capacity Wh, cycle count, terminal voltage, and cell model identity.performance, balanced, and power-saver via power-profiles-daemon.0–100%) with mute toggling via Space.brightnessctl and sysfs fallback.[ ON ] / [ OFF ]).systemd-timedated..desktop entries and Flatpak installations with category filtering and background execution.Designed from the ground up for keyboard power users. Supports standard arrows and Vim navigation (hjkl):
| Key | Context | Action |
|---|---|---|
↑ / k, ↓ / j | Any | Navigate list items or sidebar categories |
← / h | Content | Return focus to sidebar categories |
→ / l / Enter | Sidebar | Enter content view for the selected category |
Enter | Content | Activate setting / connect / confirm / launch |
Space | Content | Toggle switches / mute audio device |
+ / - or > / < | Content | Increase / decrease volume, brightness, or cycle power profiles |
Backspace / Del | Content | Forget saved Wi-Fi profile or paired Bluetooth device |
/ | Any | Open global fuzzy search across all categories |
Tab | Password Dialog | Toggle password visibility (show / hide plaintext) |
Esc | Modal / Search | Dismiss dialog or exit search mode |
q | Top-level | Clean exit (terminal state completely restored) |
Press / from anywhere to initiate global search. Type keywords like wifi, volume, brightness, dark, ntp, power, or reboot and hit Enter to navigate directly to that exact setting:
⚙ Settings / bright█
Screen Brightness Display Display > Screen Brightness
Keyboard Backlight Display Display > Backlight
settings-tui [OPTIONS]
Options:
-s, --section <NAME> Jump directly to category (Network, Bluetooth, Sound, Power, Display, Appearance, Applications, Services, System)
-q, --search <QUERY> Launch directly with search query active
-d, --diagnose Output the Linux compatibility and capability matrix and exit
-c, --config <FILE> Custom path to config [default: ~/.config/settings-tui/config.json]
-h, --help Print help information
-V, --version Print version information
Run settings-tui --diagnose to view your system's native capability matrix:
$ settings-tui --diagnose
Checking Linux platform and backend capabilities...
Desktop: Hyprland
Session Type: wayland
Compositor: Hyprland
Init System: systemd
Network: Wi-Fi scanning and connection supported (VPN/DNS unmanaged)
Bluetooth: Power toggle and device connect/forget supported (PIN pairing unmanaged)
Power: Mutable (Full)
Sound: Mutable (Full)
Display: Resolution and refresh rate mutable via hyprctl (scaling read-only)
Appearance: Color scheme toggle supported (font and icon themes read-only)
Services: Service state mutations require Polkit elevation
System: Power actions require active logind session / Polkit
Contributions of all sizes are welcome! Please check out CONTRIBUTING.md for local dev setup, coding standards, and testing guidelines.
Looking for a place to start? We actively welcome PRs for:
wlr-output-management-unstable-v1), KDE Wayland, GNOME Mutter IPC.iwd alternative backend for NetworkManager.For autonomous AI coding assistants, see AGENTS.md for architectural invariants, state patterns, and guidelines.
If you find settings-tui useful and want to support its ongoing development, consider donating! Your support helps keep this tool well-maintained and natively integrated with the ever-changing Linux ecosystem.
This project is licensed under the MIT License.
The Missing Native Control Center for Linux Power Users
See the codesettings-tui)
Stop juggling 10 different command-line utilities.
settings-tui brings the full functionality and polish of modern graphical control centers (GNOME Settings, KDE System Settings) straight to your terminal. Control your network, audio, displays, power, Bluetooth, systemd units, and desktop themes through a unified, keyboard-driven interface.
Quick Start • Why settings-tui? • Features • Keybindings • Contributing
settings-tui is engineered specifically for minimalists, tiling window manager users, and performance purists who refuse to install heavy GUI toolkits just to change a setting.
settings-tui only runs when you open it. It does not spawn background processes, run node runtimes, or leak memory.| Pain Point with Existing Setup | With settings-tui |
|---|---|
Memorizing syntax for nmcli, bluetoothctl, wpctl, brightnessctl, hyprctl, and systemctl | One unified TUI covering all system settings |
| Heavy Electron apps or GNOME/KDE control centers requiring 500MB+ dependencies on minimal window managers | Pure Rust binary, sub-15ms startup, near 0% idle CPU & RAM usage, zero desktop environment lock-in |
| Shell scripts that blindly run commands and assume they worked | Transactional engine (READ -> MUTATE -> READBACK -> VERIFY) ensuring state changes actually succeeded |
| Clunky network connection prompts popping up outside your terminal | Interactive masked password dialogs, Wi-Fi frequency & security inspection built-in |
| Hidden or broken features failing silently on different distros | Transparent Capability Matrix with honest badges ([~], [*], [R]) so you know what is supported |
You can launch settings-tui immediately without compiling:
npx settings-tui
npm install -g settings-tui
# Launch anytime:
settings-tui
# Or simply:
settings
git clone https://github.com/ziuus/settings-tui.git
cd settings-tui
cargo build --release
sudo make install
cd extra && makepkg -si
[████] 84%), frequency band detection (5 GHz vs 2.4 GHz), and security tags (WPA2/WPA3, WEP, Open).••••••••), Tab show/hide toggle, and Esc cancel./etc/resolv.conf.Backspace/Delete confirmation to forget saved Wi-Fi profiles.5.79 W), factory design Wh vs full capacity Wh, cycle count, terminal voltage, and cell model identity.performance, balanced, and power-saver via power-profiles-daemon.0–100%) with mute toggling via Space.brightnessctl and sysfs fallback.[ ON ] / [ OFF ]).systemd-timedated..desktop entries and Flatpak installations with category filtering and background execution.Designed from the ground up for keyboard power users. Supports standard arrows and Vim navigation (hjkl):
| Key | Context | Action |
|---|---|---|
↑ / k, ↓ / j | Any | Navigate list items or sidebar categories |
← / h | Content | Return focus to sidebar categories |
→ / l / Enter | Sidebar | Enter content view for the selected category |
Enter | Content | Activate setting / connect / confirm / launch |
Space | Content | Toggle switches / mute audio device |
+ / - or > / < | Content | Increase / decrease volume, brightness, or cycle power profiles |
Backspace / Del | Content | Forget saved Wi-Fi profile or paired Bluetooth device |
/ | Any | Open global fuzzy search across all categories |
Tab | Password Dialog | Toggle password visibility (show / hide plaintext) |
Esc | Modal / Search | Dismiss dialog or exit search mode |
q | Top-level | Clean exit (terminal state completely restored) |
Press / from anywhere to initiate global search. Type keywords like wifi, volume, brightness, dark, ntp, power, or reboot and hit Enter to navigate directly to that exact setting:
⚙ Settings / bright█
Screen Brightness Display Display > Screen Brightness
Keyboard Backlight Display Display > Backlight
settings-tui [OPTIONS]
Options:
-s, --section <NAME> Jump directly to category (Network, Bluetooth, Sound, Power, Display, Appearance, Applications, Services, System)
-q, --search <QUERY> Launch directly with search query active
-d, --diagnose Output the Linux compatibility and capability matrix and exit
-c, --config <FILE> Custom path to config [default: ~/.config/settings-tui/config.json]
-h, --help Print help information
-V, --version Print version information
Run settings-tui --diagnose to view your system's native capability matrix:
$ settings-tui --diagnose
Checking Linux platform and backend capabilities...
Desktop: Hyprland
Session Type: wayland
Compositor: Hyprland
Init System: systemd
Network: Wi-Fi scanning and connection supported (VPN/DNS unmanaged)
Bluetooth: Power toggle and device connect/forget supported (PIN pairing unmanaged)
Power: Mutable (Full)
Sound: Mutable (Full)
Display: Resolution and refresh rate mutable via hyprctl (scaling read-only)
Appearance: Color scheme toggle supported (font and icon themes read-only)
Services: Service state mutations require Polkit elevation
System: Power actions require active logind session / Polkit
Contributions of all sizes are welcome! Please check out CONTRIBUTING.md for local dev setup, coding standards, and testing guidelines.
Looking for a place to start? We actively welcome PRs for:
wlr-output-management-unstable-v1), KDE Wayland, GNOME Mutter IPC.iwd alternative backend for NetworkManager.For autonomous AI coding assistants, see AGENTS.md for architectural invariants, state patterns, and guidelines.
If you find settings-tui useful and want to support its ongoing development, consider donating! Your support helps keep this tool well-maintained and natively integrated with the ever-changing Linux ecosystem.
This project is licensed under the MIT License.