I guess I should document the process for those who don't know how to do it. I run a DE so I want to launch the eddie gui on startup for my user rather than cli.
1. As the wanted user, create a file ~/.config/systemd/user/eddie-ui.service
2.Configure as needed but I did
[Unit]
Description=eddie-ui user service
[Service]
ExecStart=eddie-ui
Restart=always
RestartSec=10s
TimeoutStopSec=10
[Install]
WantedBy=default.target
As is there's a bug where when sigterm is sent it will timeout after the default 90 seconds and the process gets sent sigkill to kill it so you might want to reconfigure that so you don't have to wait as I did. I'm not sure the best way to work around that but I found that waiting 10 seconds is enough for eddie to close connections and past that it sits there doing nothing before getting killed by sigkill so I expedited it. You have to let it send sigterm first, if you switch it to sigkill, openvpn gets stuck open.
3. systemctl --user enable eddie-ui.service
4. systemctl --user start eddie-ui.service
If you want to configure the service for all users, use the --global option. so systemctl --user --global then enable disable start stop etc.
Also, your DE probably has an easy way to autostart applications or run commands for you but I switch DEs and WMs constantly and remove and install new ones so this is easier for me to set once and never again.