Hello! My 2 cents.

Hilton Chain <hako@ultrarare.space> writes:
> Services can depend on its symbol, graphical-session and explicitly 
> x11-display
> or wayland-display.  The service will fail to start when starting Shepherd in
> TTY environment and block dependent services.
>
> The limitation is that we still don't have a way to import environment 
> variables
> and we can't manage two graphical sessions at the same time.

What I do to solve this problems, is to create a shepherd service to
manage the desktop environment[1], Plasma in my case, and I augment the
plasma-workspace[2] package to provide the corresponding
'wayland-sessions/plasma-shepherd.desktop' file, so I can boot shepherd
from SDDM.

This has proven to be very effective and allows me to do things such as
`herd restart plasma' at user level without being logged out.

Additionally, to allow the GPG agent managed by shepherd, to have the
correct environment variables of display and tty, I handle the update of
the variables through autostart, using
`home-xdg-configuration-files-service-type'[3].

It would be nice if we found a less hacky way of getting this type of
setup. Since the setup I've presented here requires the user to
configure `plasma-desktop-service-type' jointly with
`home-plasma-service-type'.

If shepherd could propagate system services to the user-level shepherd,
we could remove `home-plasma-service-type'. That way, installing
`plasma-desktop-service-type', would make all user level shepherd
daemons have `herd start plasma` available.

What do you think?

[1] https://codeberg.org/pastor/omega/src/main/pastor/services/plasma.scm#L49
[2] https://codeberg.org/pastor/omega/src/main/pastor/services/plasma.scm#L24
[3] https://codeberg.org/pastor/puntos/src/main/home/home-configuration.scm#L194


Best regards,
Sergio

Reply via email to