I just wanted to wrap this thread up since I was able to find/create a solution with the help of stack overflow
The solution I built is two parts, the first is to create a shell script for the startup of the VPN when the system itself starts
in my case it looks like the following
#This script autoconnects a vpn on startup.
#It just runs the vpn connect command in a while loop.
#Whatever is returned by nmcli con | grep -i vpn
VPN_UUID=<your uuid from the above command goes here and remove brackets>
VPN_RETRY_TIME=2 #how many seconds until you retry?
MAX_RETRIES=30 #how many time will you try before you give up?
#run the command once, so the while loop has
#something to check the first time around
nmcli con up uuid $VPN_UUID
SUCCESS=($? = 0)
ATTEMPT_COUNT=1 #the number of times we've tried to connect.
#$ATTEMPT_COUNT <= $MAX_RETRIES
while [[ (!$SUCCESS) && ATTEMPT_COUNT -le MAX_RETRIES ]];
do
sleep $VPN_RETRY_TIME #it just keeps on trying
nmcli con up uuid $VPN_UUID
SUCCESS=($? = 0)
ATTEMPT_COUNT=$((ATTEMPT_COUNT+1))
done
In my case I named this file vpn_auto_connect.sh
I then gave this script executable permissions and referenced it in a second file that goes in my /home/<USERNAME>/.config/autostart
(again replace <USERNAME> with your user name) titled vpn_auto_connect.desktop
This file looks as follows
[Desktop Entry]
Name=VPN_Auto_Connect
Exec=/path/to/your/executable.sh
Terminal=false
Type=Application
StartupNotify=false
where you just have to replace /path/to/your/executable.sh
with the path to the shell script you created above
I hope this helps anyone who runs into a similar issue in the future
This thread can be marked as solved