Impala Project Introduction
Impala is a user-friendly Text User Interface (TUI) designed for managing WiFi connections on Linux systems. It brings an easy-to-navigate interface to simplify the control over wireless networks using the Internet Wireless Daemon (iwd).
Demo
The interface of Impala provides a visual demonstration where users can effortlessly manage their WiFi settings. This demo showcases how users can interact with different sections and features of the interface.
Prerequisites
To use Impala, you need a Linux-based operating system with iwd installed. It is also suggested to install nerdfonts to ensure icons are displayed correctly.
Installation
There are several methods available for installing Impala, catering to different Linux environments.
Binary Release
Users can download the pre-built binaries directly from the release page.
crates.io
For those using Rust's package manager, Impala can be installed via crates.io:
cargo install impala
Arch Linux
Impala can be installed using the system package manager, pacman, from the official repositories:
pacman -S impala
Nixpkgs
Nix package manager users can install Impala with:
nix-env -iA nixpkgs.impala
Building from Source
If you prefer or need to build from source, you can do so by cloning the repository and compiling it:
git clone https://github.com/pythops/impala
cd impala
cargo build --release
The executable will be located at target/release/impala
, ready to be moved to a directory within your $PATH
.
Usage
Global Keybindings
Tab
orShift + Tab
: Switch between sections.j
orDown
: Scroll down.k
orUp
: Scroll up.ctrl+r
: Switch adapter mode.?
: Show help.esc
: Dismiss pop-ups.q
orctrl+c
: Quit the application.
Device Controls
i
: Show device information.o
: Toggle device power.
Station Management
s
: Start scanning for networks.Space
: Connect to or disconnect from a network.
Known Networks
a
: Enable or disable auto-connect.d
: Remove a network from the known list.
Access Point Setup
n
: Start a new access point.x
: Stop the access point.
Custom Keybindings
Users can customize keybindings by editing the configuration file located at $HOME/.config/impala/config.toml
. Here is an example configuration:
switch = "r"
mode = "station"
[device]
infos = "i"
toggle_power = "o"
[access_point]
start = 'n'
stop = 'x'
[station]
toggle_scanning = "s"
toggle_connect = " "
[station.known_network]
toggle_autoconnect = "a"
remove = "d"
License
Impala is distributed under the GPLv3 license, allowing users to freely use, modify, and distribute the software under the same license terms.