VLANs
A NetworkManager VLAN manager for the Omarchy bar. The stock omarchy.network
widget only covers Wi-Fi and DNS; this fills the gap for 802.1Q VLANs — list,
connect, disconnect, create, and delete them without leaving the bar.
Install
omarchy plugin add https://github.com/Omar-sv88/omarchy-vlans.git --enable
Update
omarchy plugin update io.github.omar-sv88.vlans
Remove
omarchy plugin remove io.github.omar-sv88.vlans
Add --yes to either command to skip the confirmation prompt.
Features
- Lists every VLAN connection NetworkManager knows about, with parent interface, VLAN ID, IP mode, and live status
- A switch per VLAN to connect/disconnect it
- New VLAN form: parent interface picker (auto-detected Ethernet/Wi-Fi devices), VLAN ID (1-4094), optional name, DHCP or manual IP/gateway, autoconnect toggle
- Delete with a confirmation dialog
- Auto-refreshes every 15s while the panel is open, plus a manual Refresh button
How it works
This is a Quickshell plugin loaded by the long-running omarchy-shell
process, using the same manifest.json + bar-widget contract as Omarchy's
first-party bar widgets (Network, Bluetooth, Audio, ...).
manifest.jsondeclares the plugin (id: io.github.omar-sv88.vlans,kind: bar-widget) and points atPanel.qmlas the entry point.Panel.qmlis the QML UI: the bar icon/toggle switch, the popup panel, and thenmcliProcesscalls that back every action.Model.jsholds the pure parsing/validation logic (VLAN ID range, CIDR validation, the read-only listing script,nmcli connection addargv construction) with no QML dependencies, so it's unit-testable with plain Node.
All VLAN operations run through nmcli directly as your user — no sudo
required. NetworkManager already permits the active session to manage its
own connections, the same way the stock Network widget connects to Wi-Fi
without prompting for a password.
Requirements
- NetworkManager (
nmcli) with the8021qkernel module (present on any modern Linux install; loads automatically when a VLAN connection activates)
License
MIT — see LICENSE.