# 📡 nmwrap
An interactive terminal user interface (TUI) written in **Rust** using [Ratatui](https://github.com/ratatui-org/ratatui), designed as a wrapper for `nmcli` (NetworkManager).
This application allows you to easily scan available Wi-Fi networks and connect to them directly from your terminal, eliminating the need to memorize long and complex `nmcli` commands.
## ✨ Features
* **Interactive Wi-Fi Scanning:** Displays a clean, real-time list of available Wi-Fi networks around you.
* **Modern TUI:** Built using the `ratatui` ecosystem for a responsive, clean, and intuitive terminal experience.
* **Instant Connection:** Select a target network and input the password via a secure prompt directly inside the application.
* **Blazing Fast:** Written entirely in Rust, ensuring minimal memory footprint and near-instant execution.
## 📋 Prerequisites
Before installing and running this application, ensure your Linux system has the following dependencies:
1. **Rust & Cargo**: Required to build the application. You can install them via [rustup.rs](https://rustup.rs/).
2. **NetworkManager (`nmcli`)**: Must be installed and running on your system, as the application interacts with `nmcli` under the hood.
## 🚀 Installation
1. Clone this repository to your local machine:
```bash
git clone git@github.com:Pakelzz/nmwrap.git
cd nmwrap
```
2. Build application in release mode:
```bash
cargo build --release
```
3. Move the compiled binary to your local path (Optional, to run it from anywhere):
```bash
sudo cp target/release/nmwrap /usr/local/bin/
```
## 💻 Usage
If you installed the binary globally, simply run the following command in your terminal:
```bash
nmwrap
```
(Alternatively, run cargo run if you are still in the development environment).
## 📄 License
This project is licensed under the MIT License. See the LICENSE file for details.