Omahub
← All plugins
S

PIA VPN

by SteveHNH

Connect/disconnect Private Internet Access VPN and pick a region from the Omarchy bar.

Install
$ omarchy plugin add https://github.com/SteveHNH/omarchy-pia-plugin --enable
Widgets #bar #system #security

PIA VPN — Omarchy bar widget

A bar-widget plugin for Omarchy that connects and disconnects Private Internet Access VPN from the top bar, with a searchable region picker in the popup.

PIA VPN widget popup

Requirements

  • Omarchy with the Quickshell-based plugin system (omarchy plugin / omarchy bar commands available).

  • The PIA desktop client installed, providing the piactl CLI on PATH.

  • PIA background mode enabled, so the daemon stays controllable without the GUI open:

    piactl background enable
    

    Without this, connect from the widget will fail with "start the PIA client to activate the daemon" until you launch the PIA app once.

This plugin only shells out to piactl (get/set/connect/disconnect); it does not touch your PIA credentials, network configuration, or any files outside its own polling of piactl output.

Install

omarchy plugin add https://github.com/SteveHNH/omarchy-pia-plugin.git --enable

This clones the plugin, prompts for a bar section (pick right to match the built-in Bluetooth/Network/Audio widgets), and enables it.

To install manually instead:

git clone https://github.com/SteveHNH/omarchy-pia-plugin.git \
  ~/.config/omarchy/plugins/io.github.stevehnh.pia-vpn
omarchy plugin validate ~/.config/omarchy/plugins/io.github.stevehnh.pia-vpn
omarchy plugin enable io.github.stevehnh.pia-vpn --section right

Remove

omarchy plugin disable io.github.stevehnh.pia-vpn
rm -rf ~/.config/omarchy/plugins/io.github.stevehnh.pia-vpn
omarchy-shell shell rescanPlugins

Usage

  • Left-click the bar icon: open/close the popup.
  • Right-click the bar icon: force a status refresh.
  • Middle-click the bar icon: connect/disconnect without opening the popup.
  • In the popup: the switch connects/disconnects, and the region field is a searchable dropdown over every region piactl get regions reports.

The bar icon is a shield glyph — solid/bright when connected, dimmed when disconnected, and colored as an alert if piactl becomes unreachable (e.g. the PIA daemon isn't running and background mode isn't enabled).

Settings

  • refreshIntervalSec (2–60, default 5): how often the widget polls piactl for connection state and region. Configurable from Omarchy's plugin settings UI.

License

MIT — see LICENSE.