network-dmenu

Crates.ionetwork-dmenu
lib.rsnetwork-dmenu
version1.6.5
sourcesrc
created_at2024-07-19 16:24:55.114846
updated_at2024-08-31 15:19:48.597177
descriptionA dmenu-based Tailscale and Wi-Fi network selector with support for NetworkManager and iwd.
homepagehttps://github.com/cyrinux/network-dmenu
repositoryhttps://github.com/cyrinux/network-dmenu
max_upload_size
id1308837
size136,609
Cyril Levis (cyrinux)

documentation

README

Network dmenu Selector

Logo

A simple dmenu-based selector to manage Tailscale exit nodes, networkmanager, iwd and custom actions. This tool allows you to quickly enable or disable Tailscale, set Tailscale exit nodes including Mullvad VPN, and execute custom actions and more via a dmenu interface.

Features

  • Enable or disable Tailscale
  • Set Tailscale exit nodes
  • Set mullvad exit nodes
  • Customizable actions via a configuration file
  • Bluetooth connect and disconnect to known devices
  • Connect to wifi devices
  • Execute custom actions

Installation

  1. Ensure you have Rust installed. If not, you can install it from rust-lang.org.
  2. Install
    cargo install --locked network-dmenu
    

Requirements

  • fontawesomes and/or joypixels fonts.
  • pinentry-gnome3 for the wifi password prompt.
  • dmenu or compatible.
  • nmcli or just iwd, optional, for wifi.
  • bluetoothctl, optional, for bluetooth.

Configuration

The configuration file is located at ~/.config/network-dmenu/config.toml. If it doesn't exist, a default configuration will be created automatically.

Default Configuration

[[actions]]
display = "😀 Example"
cmd = "notify-send 'hello' 'world'"

You can add more actions by editing this file.

Usage

Run the following command to open the dmenu selector:

network-dmenu

Select an action from the menu. The corresponding command will be executed.

Dependencies

Contributing

Contributions are welcome! Please open an issue or submit a pull request on GitHub.

License

This project is licensed under the ISC License. See the LICENSE file for details.

Commit count: 0

cargo fmt