mirror of
https://github.com/anotherhadi/nixy.git
synced 2026-04-02 11:12:09 +02:00
@@ -11,5 +11,6 @@
|
||||
./nerdfont-fzf
|
||||
./notification
|
||||
./system
|
||||
./openvpn
|
||||
];
|
||||
}
|
||||
|
||||
37
home/scripts/openvpn/default.nix
Normal file
37
home/scripts/openvpn/default.nix
Normal file
@@ -0,0 +1,37 @@
|
||||
# - ## OpenVPN
|
||||
#-
|
||||
#- OpenVPN allows you to connect/disconnect quickly to a openVPN server
|
||||
#-
|
||||
#- - `openvpn-up` turn on the vpn
|
||||
#- - `openvpn-down` turn down the vpn
|
||||
#- - `openvpn-toggle` toggle the vpn
|
||||
{ pkgs, ... }:
|
||||
let
|
||||
id = "home"; # ID of the connection
|
||||
password-file = "/home/hadi/.config/vpn-password";
|
||||
|
||||
openvpn-up = pkgs.writeShellScriptBin "openvpn-up"
|
||||
# bash
|
||||
''
|
||||
nmcli con up id ${id} passwd-file ${password-file}
|
||||
notif "VPN" "VPN activated" "The OpenVPN connection to ${id} has been activated"
|
||||
'';
|
||||
|
||||
openvpn-down = pkgs.writeShellScriptBin "openvpn-down"
|
||||
# bash
|
||||
''
|
||||
nmcli con down id ${id}
|
||||
notif "VPN" "VPN deactivated" "The OpenVPN connection to ${id} has been deactivated"
|
||||
'';
|
||||
|
||||
openvpn-toggle = pkgs.writeShellScriptBin "openvpn-toggle"
|
||||
# bash
|
||||
''
|
||||
if nmcli connection show --active | grep -q "${id}"; then
|
||||
openvpn-down
|
||||
else
|
||||
openvpn-up
|
||||
fi
|
||||
'';
|
||||
|
||||
in { home.packages = [ openvpn-up openvpn-down openvpn-toggle ]; }
|
||||
@@ -76,6 +76,7 @@ let
|
||||
" Night-shift"
|
||||
" Nixy"
|
||||
" Hyprpicker"
|
||||
" Toggle VPN"
|
||||
)
|
||||
|
||||
selected=$(printf '%s\n' "''${options[@]}" | wofi -p " Quickmenu" --dmenu)
|
||||
@@ -95,6 +96,9 @@ let
|
||||
"Hyprpicker")
|
||||
sleep 0.2 && ${pkgs.hyprpicker}/bin/hyprpicker -a
|
||||
;;
|
||||
"Toggle VPN")
|
||||
openvpn-toggle
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
'';
|
||||
|
||||
Reference in New Issue
Block a user