To set a user service to start at boot, you need:

  • WantedBy to by default.service
  • sudo loginctl enable-linger $USER
  • systemctl --user enable <service> - note you don’t need sudo here
  • the unit file to be in /etc/systemd/user, not /etc/systemd/system