From d8660fd2c80688f6c4be5a3d24fb60e7ad51c726 Mon Sep 17 00:00:00 2001 From: Jamer Rebolledo Date: Sun, 1 Feb 2026 23:59:00 -0500 Subject: [PATCH 1/3] feat: add NordVPN to installable services with optional GUI MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add omarchy-install-nordvpn script that: - Installs nordvpn-bin from AUR - Enables nordvpnd daemon - Adds user to nordvpn group - Optionally installs NordVPN GUI with TUI entry - Detects existing GUI installation to avoid conflicts - Add NordVPN option to Install > Service menu with 󱇱 icon --- bin/omarchy-install-nordvpn | 31 +++++++++++++++++++++++++++++++ bin/omarchy-menu | 3 ++- 2 files changed, 33 insertions(+), 1 deletion(-) create mode 100755 bin/omarchy-install-nordvpn diff --git a/bin/omarchy-install-nordvpn b/bin/omarchy-install-nordvpn new file mode 100755 index 00000000..3d2819d5 --- /dev/null +++ b/bin/omarchy-install-nordvpn @@ -0,0 +1,31 @@ +#!/bin/bash + +# Install the NordVPN service with optional GUI. + +echo "Installing NordVPN..." +yay -S --noconfirm nordvpn-bin + +# Enable and start the NordVPN daemon +echo "Enabling NordVPN daemon..." +sudo systemctl enable --now nordvpnd + +# Add user to nordvpn group for unprivileged access +echo "Adding user to nordvpn group..." +sudo usermod -aG nordvpn $USER + +# Ask if user wants to install the GUI (if not already installed) +if ! pacman -Qi nordvpn-gui &>/dev/null && ! pacman -Qi nordvpn-gui-bin &>/dev/null; then + if gum confirm "Would you like to install the NordVPN GUI?"; then + echo "Installing NordVPN GUI..." + yay -S --noconfirm nordvpn-gui + omarchy-tui-install "NordVPN" "nordvpn-gui" float https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/nordvpn.png + fi +else + echo "NordVPN GUI is already installed." + # Ensure TUI entry exists + omarchy-tui-install "NordVPN" "nordvpn-gui" float https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/nordvpn.png +fi + +echo "" +echo "NordVPN installed! Please log out and back in for group changes to take effect." +echo "Then run 'nordvpn login' to authenticate with your NordVPN account." diff --git a/bin/omarchy-menu b/bin/omarchy-menu index 96e62b01..5b921b79 100755 --- a/bin/omarchy-menu +++ b/bin/omarchy-menu @@ -295,10 +295,11 @@ show_install_menu() { } show_install_service_menu() { - case $(menu "Install" " Dropbox\n Tailscale\n󰟵 Bitwarden\n Chromium Account") in + case $(menu "Install" " Dropbox\n Tailscale\n󰟵 Bitwarden\n󱇱 NordVPN\n Chromium Account") in *Dropbox*) present_terminal omarchy-install-dropbox ;; *Tailscale*) present_terminal omarchy-install-tailscale ;; *Bitwarden*) install_and_launch "Bitwarden" "bitwarden bitwarden-cli" "bitwarden" ;; + *NordVPN*) present_terminal omarchy-install-nordvpn ;; *Chromium*) present_terminal omarchy-install-chromium-google-account ;; *) show_install_menu ;; esac From c3f36281850ba9c388fbf76521bca8d31ced8360 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Fri, 20 Feb 2026 22:21:05 +0100 Subject: [PATCH 2/3] Slim down and use existing services --- bin/omarchy-install-nordvpn | 21 +++++---------------- 1 file changed, 5 insertions(+), 16 deletions(-) diff --git a/bin/omarchy-install-nordvpn b/bin/omarchy-install-nordvpn index 3d2819d5..426e850b 100755 --- a/bin/omarchy-install-nordvpn +++ b/bin/omarchy-install-nordvpn @@ -3,28 +3,17 @@ # Install the NordVPN service with optional GUI. echo "Installing NordVPN..." -yay -S --noconfirm nordvpn-bin +omarchy-pkg-aur-add nordvpn-bin -# Enable and start the NordVPN daemon echo "Enabling NordVPN daemon..." sudo systemctl enable --now nordvpnd -# Add user to nordvpn group for unprivileged access echo "Adding user to nordvpn group..." -sudo usermod -aG nordvpn $USER +sudo usermod -aG nordvpn "$USER" -# Ask if user wants to install the GUI (if not already installed) -if ! pacman -Qi nordvpn-gui &>/dev/null && ! pacman -Qi nordvpn-gui-bin &>/dev/null; then - if gum confirm "Would you like to install the NordVPN GUI?"; then - echo "Installing NordVPN GUI..." - yay -S --noconfirm nordvpn-gui - omarchy-tui-install "NordVPN" "nordvpn-gui" float https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/nordvpn.png - fi -else - echo "NordVPN GUI is already installed." - # Ensure TUI entry exists - omarchy-tui-install "NordVPN" "nordvpn-gui" float https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/nordvpn.png -fi +echo "Installing NordVPN GUI..." +omarchy-pkg-aur-add nordvpn-gui +omarchy-tui-install "NordVPN" "nordvpn-gui" float https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/nordvpn.png echo "" echo "NordVPN installed! Please log out and back in for group changes to take effect." From 9a7bf34fcc6076d1ea0a482d6a757a9af383837c Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Fri, 20 Feb 2026 22:22:02 +0100 Subject: [PATCH 3/3] Order --- bin/omarchy-menu | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bin/omarchy-menu b/bin/omarchy-menu index 5b921b79..505bc800 100755 --- a/bin/omarchy-menu +++ b/bin/omarchy-menu @@ -295,11 +295,11 @@ show_install_menu() { } show_install_service_menu() { - case $(menu "Install" " Dropbox\n Tailscale\n󰟵 Bitwarden\n󱇱 NordVPN\n Chromium Account") in + case $(menu "Install" " Dropbox\n Tailscale\n󱇱 NordVPN\n󰟵 Bitwarden\n Chromium Account") in *Dropbox*) present_terminal omarchy-install-dropbox ;; *Tailscale*) present_terminal omarchy-install-tailscale ;; - *Bitwarden*) install_and_launch "Bitwarden" "bitwarden bitwarden-cli" "bitwarden" ;; *NordVPN*) present_terminal omarchy-install-nordvpn ;; + *Bitwarden*) install_and_launch "Bitwarden" "bitwarden bitwarden-cli" "bitwarden" ;; *Chromium*) present_terminal omarchy-install-chromium-google-account ;; *) show_install_menu ;; esac