Hat man ein systemd unit/service file, welches Bestimmte Umgebungs Variablen des Benutzers übernehmen soll, kann man das entweder mit Environment="[…]"
direktiven machen, oder mit EnvironmentFile=/pfad/zur/datei
auf eine Datei referenzieren.
Noch einfacher ist es hingegen automatisch die Umgebungsvariablen des Benutzers (die etwa von .bash_profile oder .bashrc kommen) einzulesen.
Dies geht mit folgender ExecStart direktive:
[Service]
Type=simple
User=jdoe
Group=jdoe
ExecStart=/bin/bash -l -c 'exec "$@"' _ /pfad/zur/app arg1 arg2 ...
Damit hat der startende Service immer dieselbe Umgebung, wie ein Benutzer der sich einloggt.