A high-performance network management interface (GUI) for Hyprland, powered by Rofi and NetworkManager.
HyprLTM-Net Demo (YouTube)
- Distro Detection: Auto-installs dependencies (Arch, Fedora, openSUSE, NixOS)
- Desktop Entry: Creates launcher menu entry & icon
hyprltm-net includes a complete visual feedback system ensuring you never miss a status update.
- Universal Semantic Styling: Red (Error), Orange (Warning), Green (Success), and Blue (Info).
- Blocking Dialogs: Critical errors (e.g. Wrong Password) require user action to proceed.
- Fallback Notification System: If no notification service (like
dunst) is running, the script automatically falls back to Rofi dialogs.
![]() Error (Red): Critical failures (like a wrong password or failed connection) trigger a blocking dialog. This ensures errors are never ignored silently. |
![]() Warning (Orange): Alerts the user to important states, such as "No Notification Service found," suggesting a fallback to Rofi dialogs. |
![]() Success (Green): Immediate visual confirmation when a connection is successfully established. |
![]() Info (Blue): Contextual information, such as confirming that "Airplane Mode" has been enabled. |
Main Menu
├── Wi-Fi
│ ├── Status (Current Connection) -> View Details (IP, Signal, Mac...)
│ ├── Toggle (Enable / Disable)
│ ├── Available Networks (SSID List)
│ │ ├── [New Secure Network]
│ │ │ └── Enter Password
│ │ │ └── Password Actions (Show/Hide/Edit/Confirm)
│ │ └── [Saved Network]
│ │ ├── Autoconnect (Toggle)
│ │ ├── Connect / Disconnect Now
│ │ ├── IPv4 Configuration
│ │ ├── IPv6 Configuration
│ │ ├── Forget Connection
│ │ ├── Rename Connection
│ │ ├── Edit Password
│ │ ├── MAC Randomization (Toggle)
│ │ └── Share via QR Code
│ ├── Hotspot Manager
│ │ ├── Create New Hotspot
│ │ └── Manage Saved Hotspots
│ │ └── [Hotspot Profile] -> (Toggle, Edit Password, Rename, Delete)
│ ├── Known Connections (Saved Profiles)
│ │ └── [Saved Wi-Fi Profile]
│ │ ├── Autoconnect (Toggle)
│ │ ├── Connect / Disconnect Now
│ │ ├── IPv4 Configuration
│ │ ├── IPv6 Configuration
│ │ ├── Forget Connection
│ │ ├── Rename Connection
│ │ ├── Edit Password
│ │ ├── MAC Randomization (Toggle)
│ │ └── Share via QR Code
│ └── Connect to a hidden network
├── Wired
│ ├── [Available Interface] -> Connect
│ └── [Saved Profile] -> (Same options as Wi-Fi)
├── VPN
│ ├── [VPN Profile]
│ │ ├── Autoconnect (Toggle)
│ │ ├── Connect / Disconnect
│ │ ├── IPv4 / IPv6 Configuration
│ │ ├── Forget Connection
│ │ ├── Rename Connection
│ │ └── Edit Password (if applicable)
│ └── Import Configuration
├── Saved Connections
│ └── [List of All Profiles]
│ ├── Autoconnect (Toggle)
│ ├── Connect / Disconnect Now
│ ├── IPv4 Configuration
│ ├── IPv6 Configuration
│ ├── Forget Connection
│ ├── Rename Connection
│ ├── Edit Password
│ └── Share via QR Code
├── Status
│ ├── Active Connection Details
│ ├── All Device Status (List)
│ └── Speed Test (Download / Upload / Ping)
└── Airplane Mode
├── Full Airplane Mode (Blocks all RF / Bluetooth)
└── Wi-Fi Only
| Package | Purpose |
|---|---|
networkmanager |
Backend connection management (nmcli) |
rofi-wayland |
The graphical menu engine |
qrencode |
Generating Wi-Fi QR codes |
dnsmasq |
Required for Hotspot creation (DHCP) |
Nerd Fonts |
Required for icons (e.g., JetBrains Mono Nerd Font) |
libnotify |
(Optional) For desktop notifications via notify-send |
bash <(curl -s https://raw.githubusercontent.com/hyprltm/hyprltm-net/main/setup.sh)The script will auto-detect your distribution, install dependencies, and set up the menu.
Manual Installation
If you prefer to install manually:
mkdir -p ~/.local/bin && cp hyprltm-net.sh ~/.local/bin/hyprltm-net && chmod +x ~/.local/bin/hyprltm-net
mkdir -p ~/.config/rofi/themes/ && cp *.rasi ~/.config/rofi/themes/Keybind: Add to your Hyprland config:
- hyprlang (legacy) —
~/.config/hypr/hyprland.conf:bind = SUPER, N, exec, hyprltm-net - Lua (0.55+) —
~/.config/hypr/hyprland.lua:hl.bind("SUPER + N", hl.dsp.exec_cmd("hyprltm-net"))
Waybar: Add to your network module in ~/.config/waybar/config.jsonc:
"on-click": "hyprltm-net"HyprLTM-Net allows you to completely override any icon used in the UI with your own preferred Unicode/Nerd Font characters or Emojis.
- Copy the example configuration file:
mkdir -p ~/.config/hyprltm cp hyprltm-net.conf.example ~/.config/hyprltm/hyprltm-net.conf
- Edit
~/.config/hyprltm/hyprltm-net.confand uncomment anyicon_...variables you want to change (e.g.,icon_wifi_full="🚀"). - Relaunch HyprLTM-Net and your new icons will instantly apply!
(Note: The default icons used in the script are standard Material Design Icons from the JetBrains Nerd Font family. They map to the Private Use Area (PUA) of Unicode, which is why they may look like generic square characters in text editors that don't have a Nerd Font applied).
HyprLTM-Net uses the LTMNight color palette. Customize appearance by editing ~/.config/rofi/themes/ltmnight.rasi.
Override the theme at runtime without modifying config files:
| Variable | Purpose | Default |
|---|---|---|
ROFI_THEME_NAME |
Theme file name (without .rasi) |
hyprltm-net |
ROFI_NETWORK_MANAGER_THEME |
Full path to a .rasi theme file |
(auto-detected) |
Search order: env var path → ~/.config/rofi/themes/ → ~/.config/hyprltm/themes/ → /usr/share/rofi/themes/ → /etc/xdg/rofi/themes/ → ~/.local/share/rofi/themes/ → script directory → rofi built-in fallback.
If ROFI_NETWORK_MANAGER_THEME points to a missing or broken path, the script falls back through the search chain.
# Use a custom theme name
export ROFI_THEME_NAME="my-custom-theme"
# Or point directly to a theme file
export ROFI_NETWORK_MANAGER_THEME="$HOME/.config/rofi/themes/my-theme.rasi"
./hyprltm-net.sh| Variable | Description | Default | Usage |
|---|---|---|---|
@ltmnight0 |
Background | #282a36 |
Menu Background |
@ltmnight2 |
Foreground | #f8f8f2 |
Main Text |
@ltmnight9 |
Primary Accent | #bd93f9 |
List Selection |
@ltmnight4 |
Error | #ff5555 |
🟥 Error Dialogs |
@ltmnight5 |
Warning | #ffb86c |
🟧 Warnings / Alerts |
@ltmnight7 |
Success | #50fa7b |
🟩 Success Messages |
@ltmnight8 |
Info | #8be9fd |
🟦 Info Dialogs |
@ltmnight3 |
Comments | #6272a4 |
Borders / Outlines |
If you find this tool helpful, there are many ways to support the project:
If you'd like to support the development financially:
Financial contributions are not the only way to help! Here are other options:
- Star the Repository: It helps more people find the project!
- Report Bugs: Found an issue? Open a ticket on GitHub.
- Suggest Features: Have a cool idea? Let me know!
- Share: Tell your friends!
Every bit of support helps keep the project alive and ensures I can spend more time developing open source tools for the Linux community!
Created by Djalel Oukid (sniper1720) and distributed under the GPL-3.0 License.
Check out more Linux & Open Source content on my website!








