Files
settuings/README.md
T
2026-08-13 12:10:09 +02:00

4.5 KiB

logo

SetTUIngs

A TUI to manage your Linux system settings like wifi, bluetooth, and more, without leaving the terminal.

GitHub Stars Release CI Ko-fi

What is SetTUIngs?

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).

demo

Features

  • 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.
  • Vim-like Navigation: The entire interface is keyboard-driven with Vim-inspired shortcuts. Use h/j/k/l to move, gg/G to jump to the top/bottom, / to search, q to close panels, and more. All keybindings are fully customizable via the config file.

Installation

Go install
go install github.com/anotherhadi/settuings/cmd/settuings@latest

Requires Go 1.22+. The binary will be placed in $GOPATH/bin (or ~/go/bin).

Nix (temporary run, no install)
nix run github:anotherhadi/settuings
NixOS (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 ];

CLI Flags

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)
  -v, --version              version for settuings

Tech Stack

Component Library
TUI bubbletea
Styles lipgloss
Config viper
Plugins gopher-lua