Jean Louis:
So, placing user daemons into system supervision may not be the best option, due to so many customization that have to be done for the user, especially for GNU Emacs -- as one cannot know which programming languages and their variables are required.
I just explained that these are *not* system-wide services, but per-user ones. A user who is setting up environment variables for xyr own needs to run emacs as a service simply sets up environment variables for xyr own needs against the per-user service. Indeed, I already showed how that is done. Once again:
Adjust its environment, if desired, in the conventional way $ system-control --user set-service-env emacs DISPLAY :15.2 or (if /usr/local/sbin is on one's path) $ rcctl set --user emacs DISPLAY :15.2
The idea that this is somehow difficult because one might have to set an environment variable named GUILE_LOAD_PATH in this way, is just plain wrong. This is just an envdir in a conventional place in a service directory. It's actually easier to manipulate than a $HOME/.{z,}profile or a $HOME/.login_conf for setting such an environment variable so that one could spawn the daemon in an interactive login session.