Add threema-env and fix threema-vpn
This commit is contained in:
parent
8f56cf5a99
commit
2769751b2e
1 changed files with 28 additions and 18 deletions
|
@ -1,4 +1,4 @@
|
||||||
{ pkgs, ... }:
|
{ pkgs, config, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
passbemenu = pkgs.writeScriptBin "passbemenu" ''
|
passbemenu = pkgs.writeScriptBin "passbemenu" ''
|
||||||
|
@ -29,24 +29,34 @@ let
|
||||||
#!${pkgs.stdenv.shell}
|
#!${pkgs.stdenv.shell}
|
||||||
set -eo pipefail
|
set -eo pipefail
|
||||||
|
|
||||||
SERVICE=openvpn-threema.service
|
SERVICE=openvpn-threema
|
||||||
|
SERVICE_EXEC="${config.systemd.services.openvpn-threema.serviceConfig.ExecStart}"
|
||||||
|
|
||||||
if [[ "$1" == "restart" ]]; then
|
exec sudo ${pkgs.openvpn}/sbin/openvpn''${SERVICE_EXEC#@* openvpn}
|
||||||
ACTION=restart
|
|
||||||
elif [[ "$1" == "start" ]]; then
|
'';
|
||||||
ACTION=start
|
threema-env = pkgs.writeScriptBin "threema-env" ''
|
||||||
elif [[ "$1" == "stop" ]]; then
|
#!/usr/bin/env bash
|
||||||
ACTION=stop
|
set -eo pipefail
|
||||||
elif [[ "$1" == "status" ]]; then
|
|
||||||
ACTION=status
|
# Nix shell might fail on some PWDs, so go to home
|
||||||
elif [[ "$1" == "tail" ]]; then
|
cd $HOME
|
||||||
sudo journalctl -f -u $SERVICE
|
|
||||||
exit 0
|
ENV_NAME="$1"
|
||||||
else
|
ENV_FILE="$HOME/shares/cloud.threema.ch/envs/''${ENV_NAME}.nix"
|
||||||
echo "Usage: vpn (start|stop|restart|status|tail)"
|
COMMAND="$2"
|
||||||
exit 254
|
|
||||||
|
if [ -z "$ENV_NAME" ]; then
|
||||||
|
echo "Error: No env name provided" >&2
|
||||||
|
exit 2
|
||||||
fi
|
fi
|
||||||
|
|
||||||
sudo systemctl $ACTION $SERVICE
|
if [ ! -f "$ENV_FILE" ]; then
|
||||||
|
echo "Error: Env file does not exist" >&2
|
||||||
|
exit 3
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Starting '$COMMAND' in env '$ENV_FILE'"
|
||||||
|
${pkgs.nix}/bin/nix-shell ''${ENV_FILE} --run "$COMMAND"
|
||||||
'';
|
'';
|
||||||
in { home-manager.users.fhauser.home.packages = [ passbemenu threema-vpn ]; }
|
in { home-manager.users.fhauser.home.packages = [ passbemenu threema-vpn threema-env ]; }
|
||||||
|
|
Loading…
Add table
Reference in a new issue