Generate file with available vpn tunnels for rofi
This commit is contained in:
@ -1,2 +0,0 @@
|
||||
de-115
|
||||
lu-16
|
@ -1,10 +1,10 @@
|
||||
#!/usr/bin/env fish
|
||||
|
||||
# User chooses VPN server, running servers are marked in green
|
||||
set SERVERS (cat ~/NixFlake/config/rofi/menus/servers.txt) # TODO: This file should probably be generated by nix?
|
||||
set SERVERS (cat /etc/rofi-vpns) # TODO: This file should probably be generated by nix?
|
||||
set PROMPT ""
|
||||
for SERVER in $SERVERS
|
||||
set SERVER_RUNNING "$(systemctl list-units wg0-$SERVER.service | grep wg0-$SERVER.service)"
|
||||
set SERVER_RUNNING "$(systemctl list-units $SERVER.service | grep $SERVER.service)"
|
||||
if test -z $SERVER_RUNNING
|
||||
set PROMPT $PROMPT$SERVER"\n"
|
||||
else
|
||||
@ -25,7 +25,7 @@ if not contains $ACTION $ACTIONS
|
||||
end
|
||||
|
||||
# Enable wireguard netdev
|
||||
set COMMAND "systemctl $ACTION wg0-$SERVER.service"
|
||||
set COMMAND "systemctl $ACTION $SERVER.service"
|
||||
set EVAL_RESULT "$(eval $COMMAND)"
|
||||
|
||||
if test $ACTION = "status" && test -n "$EVAL_RESULT"
|
||||
@ -36,5 +36,5 @@ else if test $ACTION = "start"
|
||||
# NOTE: With a shared home directory, firejail uses the same instance, so it won't work to
|
||||
# launch multiple browsers with different VPNs...
|
||||
# firejail --noprofile --allusers --private="~/.firejail-home" --netns="wg0-$SERVER" chromium --incognito --new-window ipaddress.my &>/dev/null
|
||||
firejail --noprofile --private --netns="wg0-$SERVER" chromium --incognito --new-window ipaddress.my &>/dev/null
|
||||
firejail --noprofile --private --netns="$SERVER" chromium --incognito --new-window ipaddress.my &>/dev/null
|
||||
end
|
||||
|
@ -60,6 +60,7 @@
|
||||
"nextcloud"
|
||||
"nnn"
|
||||
"ranger"
|
||||
"rofi"
|
||||
"vscode"
|
||||
"waybar"
|
||||
];
|
||||
|
@ -1,3 +1,4 @@
|
||||
# TODO: Generate file with names for rofi
|
||||
{
|
||||
config,
|
||||
nixosConfig,
|
||||
|
@ -1,3 +1,4 @@
|
||||
# TODO: Generate file with VPN names for rofi
|
||||
# TODO: Need to set permissions through polkit module
|
||||
# TODO: Setup Wireless (IWD/Networkd?)
|
||||
{
|
||||
@ -27,6 +28,11 @@ in {
|
||||
|
||||
# Wireguard VPNs
|
||||
systemd.services = cfg.wireguard-tunnels;
|
||||
environment.etc."rofi-vpns".text = let
|
||||
names-list = attrNames cfg.wireguard-tunnels;
|
||||
names = concatStringsSep "\n" names-list;
|
||||
in
|
||||
names;
|
||||
|
||||
# General Networking Settings
|
||||
networking = {
|
||||
|
Reference in New Issue
Block a user