Lightweight TUI wrapper for NetworkManager
Why nm-tui: built-in nmtui doesn't look great and there aren't many TUI alternatives
- 💫 Features
- 📹 Demo
- 🖼️ Screenshots
- 🗃️ Requirements
- 📥 Installation
- ⚙️ Configuration
- 👨💻 Tech Stack
- 🖲️ Contributing
- ⚖️ License
- ⭐ Inspirations
- 😎 TUI style (looks cool)
- 📡 Scan and list available networks
- 🔑 Connect to networks with password
- 🔘 Activate connections to saved networks
- 📜 View detailed network information (signal strength, security, etc.)
- 🌐 Control device networking
- 📡 Create hotspot
- 🖥️ Clean, modern TUI built with Bubbletea
- ⚡ Fast and lightweight — single static binary
- 🐧 Linux only — designed specifically for NetworkManager
- 🌈 Customize look & feel
NetworkManageras the main network managerGo- (optional)
xdg-open+ipon Linux -- opens captive portal for connecting to the public WiFi-networks - Nerd Font
Requires Go installed.
go install github.com/alphameo/nm-tui/cmd/nm-tui@latestThe binary is placed in $(go env GOPATH)/bin.
# Run directly
$(go env GOPATH)/bin/nm-tui
# If you have the `$(go env GOPATH)/bin` directory in your `PATH` just run
nm-tuiTo use just nm-tui add the $(go env GOPATH)/bin directory to your PATH
With Nix and flakes enabled:
nix profile install github:alphameo/nm-tuiOr install into your profile:
nix run github:alphameo/nm-tuiMove binary nm-tui into /usr/bin or add location to PATH if you want system-wide access.
Load the latest archive for your architecture from the releases page.
Clone repo
git clone https://github.com/alphameo/nm-tui.git
# or
git clone git@github.com:alphameo/nm-tui.gitGenerate binary:
make deps
make build
# or
make clean-buildBinary generated at ./bin/nm-tui
Config is placed at $XDG_CONFIG_HOME/nm-tui/config.kdl (e.g. ~/.config/nm-tui/config.kdl).
All settings have default values, with which the user configuration is subsequently merged.
You don't need to copy the defaults — a fully-commented example covering every option is available in config.example.kdl. Only include the sections you want to override, e.g.:
colors {
accent "#865fff"
}
keys {
main {
quit "esc" "ctrl+c" "q" "ctrl+q"
}
}Pull requests are welcome! Please open an issue first to discuss what you would like to change.






