A fast, aesthetic, and Vim-friendly NetworkManager TUI built in Rust.
Important
nmrs-tui is currently in its early stages. Expect breaking changes and frequent updates as we move toward a stable release.
nmrs-tui is a terminal user interface for nmrs, inspired from impala.
- Available Networks: Real-time scanning and listing of WiFi networks.
- Known Networks: Easily manage and connect to your saved profiles (WIP).
- Device Management: View and control your network interfaces (WIP).
- Customizable: (WIP).
- Vim-like Keybindings: Navigate your networks with Vim-like keybinds.
- NetworkManager must be installed and running.
- Rust if you are building from source.
git clone https://github.com/y2w8/nmrs-tui.git
cd nmrs-tui
cargo build --releaseThe binary will be available at target/release/nmrs-tui.
| Key | Action |
|---|---|
Shift+Tab/Tab/h/l |
Switch between tabs (Known/Available/Devices) |
↓/j |
Move selection down |
↑/k |
Move selection up |
Enter/Space |
Connect to selected network |
Esc |
Cancel / Close popup |
q |
Quit application |
If you encounter issues, nmrs-tui provides detailed logging. You can set the log level using the RUST_LOG environment variable:
RUST_LOG=debug nmrs-tuiLogs are stored in your OS cache directory (e.g., ~/.cache/nmrs-tui/nmrs-tui.log).
src/main.rs: Entry point.src/tui.rs: Main loop.src/ui/: UI components includingtable,popup, andinputlogic.src/events.rs: Keyboard event handling and application logic.src/network_manager.rs: Integration with thenmrsbackend.src/logger.rs: Logging implementation.
Contributions are welcome! Whether it's a bug report, a new feature idea, or a pull request, feel free to open an issue or submit a PR.