#!/bin/bash
# Toggle the "asahi" WireGuard connection in NetworkManager.
# Usage: vpn-toggle [toggle|up|down|status]
# Requires the connection to be imported first:
#   sudo nmcli connection import type wireguard file /etc/wireguard/asahi.conf

CONN="asahi"

is_up() {
    nmcli -t -f NAME connection show --active 2>/dev/null | grep -qx "$CONN"
}

case "${1:-toggle}" in
    up)     nmcli connection up "$CONN" >/dev/null 2>&1 ;;
    down)   nmcli connection down "$CONN" >/dev/null 2>&1 ;;
    status) is_up && echo up || echo down ;;
    toggle) is_up && nmcli connection down "$CONN" >/dev/null 2>&1 \
                  || nmcli connection up "$CONN" >/dev/null 2>&1 ;;
    *)      echo "Usage: ${0##*/} [toggle|up|down|status]" >&2; exit 2 ;;
esac
