| Crates.io | wifi-config |
| lib.rs | wifi-config |
| version | 0.2.0 |
| created_at | 2025-09-03 09:35:42.743155+00 |
| updated_at | 2025-10-13 15:46:08.786693+00 |
| description | Library + CLI for configuring Wi-Fi via NetworkManager over D-Bus |
| homepage | |
| repository | https://github.com/ATverdyi/wifi-config |
| max_upload_size | |
| id | 1822250 |
| size | 75,868 |
CLI tool and Rust library for configuring Wi-Fi connections via NetworkManager over the system D-Bus. Supports both DHCP and static IPv4 configuration.
Install the CLI tool from crates.io:
cargo install wifi-config
Or build from source:
git clone https://github.com/yourname/wifi-config.git
cd wifi-config
cargo install --path .
wifi-config <SSID> <PASSWORD>
Example:
wifi-config MyHomeWiFi supersecret123
This will:
wifi-config <SSID> <PASSWORD> --static <IP> <PREFIX> <GATEWAY>
Example:
wifi-config MyOfficeWiFi topsecretpass --static 192.168.10.50 24 192.168.10.1
This will:
802-11-wireless802-11-wireless section with SSID and mode infrastructure802-11-wireless-security section with WPA-PSK passwordipv4 section with method manual and addresses [IP, prefix, gateway]Add to your Cargo.toml:
[dependencies]
wifi-config = "0.1"
Example usage:
use wifi_config::{send_wifi_to_network_manager, send_static_wifi_to_network_manager};
fn main() {
// Connect using DHCP
send_wifi_to_network_manager("MyHomeWiFi", "supersecret123");
// Connect using static IP
send_static_wifi_to_network_manager(
"MyOfficeWiFi",
"topsecretpass",
"192.168.10.50",
24,
"192.168.10.1",
);
}
Licensed under either of:
at your option.