Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.
  • 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/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, Inputs)
  -v, --version              version for settuings

Tech Stack

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

About

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

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Used by

Contributors

Languages