docs(roadmap): system VPN setup & management menu (WireGuard/OpenVPN/Tailscale)
A forward-looking item for a dedicated System → VPN flow: import WireGuard .conf / OpenVPN .ovpn into NetworkManager and toggle them, plus Tailscale up/down + exit-node (self-gated on nomarchy.services. tailscale). Notes the plugin dep (networkmanager-openvpn), the Files picker + Waybar-parity patterns, secrets staying in the connection manager, and the import-first-vs-creation open question. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -97,6 +97,32 @@ how to override it. Items marked ✓ are shipped.
|
|||||||
UI (an unthemed browser page). Validated: the generated menu script's
|
UI (an unthemed browser page). Validated: the generated menu script's
|
||||||
`bash -n` build check passes, and an eval confirms printing-on puts
|
`bash -n` build check passes, and an eval confirms printing-on puts
|
||||||
system-config-printer in `systemPackages`. Pending an on-machine check.
|
system-config-printer in `systemPackages`. Pending an on-machine check.
|
||||||
|
- **VPN setup & management menu:** a dedicated **System → VPN** flow that goes
|
||||||
|
past today's Network module (`networkmanager_dmenu` only connects/disconnects
|
||||||
|
*existing* VPN connections) to a guided **setup + management** surface across
|
||||||
|
the three common kinds:
|
||||||
|
- **WireGuard:** import a `.conf` into NetworkManager (`nmcli connection import
|
||||||
|
type wireguard file …` — NM handles wg tunnels natively, no extra plugin)
|
||||||
|
and toggle it up/down.
|
||||||
|
- **OpenVPN:** import an `.ovpn` (`nmcli connection import type openvpn file …`),
|
||||||
|
which needs the `networkmanager-openvpn` plugin shipped — gate the import
|
||||||
|
entry on it (the wireguard path has no such dependency).
|
||||||
|
- **Tailscale:** `tailscale up/down`, status, and **exit-node** selection — it
|
||||||
|
lives outside NetworkManager, so the menu drives the `tailscale` CLI
|
||||||
|
directly, self-gated on `nomarchy.services.tailscale` (already an opt-in
|
||||||
|
service) like the other hardware-gated System entries.
|
||||||
|
Shape: a `nomarchy-menu vpn` rofi submenu under **System** (Connect/Disconnect
|
||||||
|
with each connection's live up/down state like the wifi picker · Import config
|
||||||
|
via the existing Files/`fd` picker pattern · the Tailscale block when present),
|
||||||
|
ending in `↩ Back`. A self-gating Waybar `custom/vpn` indicator (shield glyph
|
||||||
|
while a tunnel or Tailscale is up) for parity with the other status modules,
|
||||||
|
added to the summer whole-swaps too. Secrets stay in the connection manager's
|
||||||
|
own store (NetworkManager / Tailscale state) — no new secret manager (cf. the
|
||||||
|
deferred rofi-rbw/pass note above). Open question: how much in-menu *creation*
|
||||||
|
(vs import) to support — a from-scratch WireGuard keypair/peer editor is a lot
|
||||||
|
of rofi surface, so likely import-first, deferring creation to
|
||||||
|
`nm-connection-editor`. Complements the existing Network item rather than
|
||||||
|
replacing it.
|
||||||
- **Theme parity with legacy:** summer-day/night now carry their legacy
|
- **Theme parity with legacy:** summer-day/night now carry their legacy
|
||||||
bar layouts as `waybar.jsonc` whole-swaps (adapted: dead legacy script
|
bar layouts as `waybar.jsonc` whole-swaps (adapted: dead legacy script
|
||||||
modules dropped, Nerd-Fonts-v2 codepoints remapped to FontAwesome/v3,
|
modules dropped, Nerd-Fonts-v2 codepoints remapped to FontAwesome/v3,
|
||||||
|
|||||||
Reference in New Issue
Block a user