Integrate NetworkManager VPN profiles into the Quattro Network panel #7033
herakles-now
started this conversation in
Suggestions
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Summary
Omarchy 4's Network panel already provides a coherent place for Ethernet, Wi-Fi, DNS, DHCP-related state, sharing, and diagnostics. NetworkManager VPN profiles should appear in that same panel instead of requiring a separate bar widget for every VPN implementation.
There is an existing Q&A discussion about OpenVPN setup (#2623), but Quattro now has a new Quickshell plugin architecture and a native NetworkManager-backed panel. This suggestion focuses on integrating VPN profile control into that UI.
User experience
Add a
VPN CONNECTIONSsection toomarchy.network, visible only when NetworkManager has at least one connection withconnection.type=vpn.Suggested behavior:
The panel should only request
connection up/downfor an existing profile. It must not rewrite routes,never-default, DNS behavior, autoconnect, certificates, or stored secrets. Those settings remain owned by NetworkManager and the profile editor.Why this belongs in the Network panel
A local proof of concept implemented this as a separate third-party Omarchy bar widget. It successfully discovers every
TYPE vpnconnection and controls profiles individually, but the resulting UX duplicates the Network button and separates VPN state from the rest of NetworkManager.The current plugin API supports complete bar widgets, panels, overlays, menus, and services, but it does not expose a supported extension point inside
omarchy.network. Cloning the complete Network plugin works, but creates a large user-owned fork that no longer receives upstream Network panel improvements automatically.Possible implementation paths
1. Built-in VPN section
Implement the section directly in
omarchy.network. This is the simplest user experience and covers any VPN represented by NetworkManager without installing OpenVPN itself by default.2. Reusable panel-section extension point
As a more general follow-up, allow plugins to contribute a section to selected first-party panels. A manifest could declare a constrained entry point such as:
{ "kinds": ["panel-section"], "entryPoints": { "panelSection": "NetworkVpnSection.qml" }, "panelSection": { "host": "omarchy.network", "position": "after-dns" } }The host would inject only its documented theme, keyboard-navigation, and refresh interfaces. This would let optional integrations extend a first-party panel without replacing or cloning it.
The built-in VPN section is useful on its own; the generic extension API should not be required to ship the initial feature.
Acceptance criteria
vpnprofiles are listed dynamically.I can provide the working standalone proof-of-concept QML or help turn it into a focused PR if this direction fits the project.
All reactions