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.
- Near 0% Resource Footprint: Idles at essentially 0% CPU and consumes single-digit Megabytes of RAM.
- Zero Background Daemons:
settings-tuionly runs when you open it. It does not spawn background processes, run node runtimes, or leak memory. - <9 MB Binary: Compiles down to a tiny, statically linked executable (when stripped) with zero dynamic dependencies on heavy frameworks like GTK, Qt, or Electron.
- Instant Sub-15ms Boot: Launches instantly and immediately populates real-time system data using asynchronous Linux APIs (D-Bus, sysfs).
| 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-tuinpm install -g settings-tui
# Launch anytime:
settings-tui
# Or simply:
settingsgit clone https://github.com/ziuus/settings-tui.git
cd settings-tui
cargo build --release
sudo make installcd extra && makepkg -si- Real-time Wi-Fi Scanner: Live discovery of access points with signal quality bars (
[████] 84%), frequency band detection (5 GHzvs2.4 GHz), and security tags (WPA2/WPA3,WEP,Open). - Interactive Password Modal: Built-in credential prompt for secured networks with masked entry (
••••••••),Tabshow/hide toggle, andEsccancel. - Active Connection Card: Live network interface device, local IPv4, default gateway, and nameserver DNS addresses parsed from
/etc/resolv.conf. - Profile Management: Instant connect for open/saved networks, disconnect for active connections, and
Backspace/Deleteconfirmation to forget saved Wi-Fi profiles.
- Live Energy Analytics: Visual charge meter with real-time battery level percentage.
- Deep Hardware Metrics: Power draw in Watts (
5.79 W), factory design Wh vs full capacity Wh, cycle count, terminal voltage, and cell model identity. - Power Profiles: Live switching between
performance,balanced, andpower-saverviapower-profiles-daemon. - Time Estimates: Calculated time-to-full during AC charging and time-to-empty while discharging.
- PipeWire & WirePlumber Integration: Fast output sinks and input sources discovery with default device selection.
- Volume Sliders: Granular volume controls (
0–100%) with mute toggling viaSpace. - Per-Application Mixing: Monitor and adjust audio volume individually for running applications playing or recording audio.
- Monitor Management: Enumerates active monitors and primary display detection under Hyprland / Wayland.
- Resolution & Refresh Rate: Select and apply supported screen resolutions and refresh rates with display scale preservation.
- Backlight Slider: Seamless screen brightness adjustment via
brightnessctland sysfs fallback.
- BlueZ D-Bus Engine: Live adapter power toggle (
[ ON ]/[ OFF ]). - Device Operations: Connect, disconnect, and forget peripherals with confirmation modals.
- systemd Management: Inspect active/substate unit statuses and safely toggle units with Polkit elevation support.
- Host & Disk Telemetry: Kernel release, OS distro, hostname, chassis type, memory utilization (RAM used/total), and visual storage partition bars.
- Network Time (NTP): Live toggleable network time synchronization via
systemd-timedated. - Protected Power Actions: Suspend, Hibernate, Reboot, and Power Off with explicit safety confirmation dialogs.
- Theme Switching: Dark / Light color scheme toggle via XDG Desktop Portal / gsettings.
- App Launcher: Parses standard system and user
.desktopentries 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 / PolkitContributions are welcome! Please see CONTRIBUTING.md for architectural overview, coding standards, test suite guidelines, and local development setup.
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.
