treewide: use graphical-session.target for GUI services

As per systemd.special(7)[0] graphical-session-pre.target is strictly
for units that set up things for a graphical session. Most notably,
these are usually started *before* the compositor/session is actually
ready.

While Home Manager's current implementation of graphical-session.target
allows these units to work regardless of what systemd.special(7)
specifies, other setups like ones with uwsm[1] do not allow these units
to start properly.

[0]: https://www.freedesktop.org/software/systemd/man/latest/systemd.special.html#graphical-session-pre.target
[1]: https://github.com/Vladimir-csp/uwsm

Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
This commit is contained in:
Sefa Eyeoglu 2024-08-31 23:59:14 +02:00
parent 086f619dd9
commit a0c04bd0cd
No known key found for this signature in database
GPG key ID: E13DFD4B47127951
8 changed files with 8 additions and 5 deletions

View file

@ -309,7 +309,7 @@ in {
"Highly customizable Wayland bar for Sway and Wlroots based compositors.";
Documentation = "https://github.com/Alexays/Waybar/wiki";
PartOf = [ "graphical-session.target" ];
After = [ "graphical-session-pre.target" ];
After = [ "graphical-session.target" ];
};
Service = {

View file

@ -30,7 +30,7 @@ with lib;
Unit = {
Description = "Blueman applet";
Requires = [ "tray.target" ];
After = [ "graphical-session-pre.target" "tray.target" ];
After = [ "graphical-session.target" "tray.target" ];
PartOf = [ "graphical-session.target" ];
};

View file

@ -28,7 +28,7 @@ in {
Unit = {
Description = "Network Manager applet";
Requires = [ "tray.target" ];
After = [ "graphical-session-pre.target" "tray.target" ];
After = [ "graphical-session.target" "tray.target" ];
PartOf = [ "graphical-session.target" ];
};

View file

@ -20,7 +20,7 @@ in {
Unit = {
Description = "UPower-powered power alerter";
Documentation = "man:poweralertd(1)";
After = [ "graphical-session-pre.target" ];
After = [ "graphical-session.target" ];
PartOf = [ "graphical-session.target" ];
};

View file

@ -119,6 +119,7 @@ in {
Description = "Idle manager for Wayland";
Documentation = "man:swayidle(1)";
ConditionEnvironment = "WAYLAND_DISPLAY";
After = [ "graphical-session.target" ];
PartOf = [ "graphical-session.target" ];
};

View file

@ -128,6 +128,7 @@ in {
systemd.user.services.wlsunset = {
Unit = {
Description = "Day/night gamma adjustments for Wayland compositors.";
After = [ "graphical-session.target" ];
PartOf = [ "graphical-session.target" ];
};

View file

@ -8,7 +8,7 @@ KillMode=mixed
Restart=on-failure
[Unit]
After=graphical-session-pre.target
After=graphical-session.target
Description=Highly customizable Wayland bar for Sway and Wlroots based compositors.
Documentation=https://github.com/Alexays/Waybar/wiki
PartOf=graphical-session.target

View file

@ -5,5 +5,6 @@ WantedBy=test.target
ExecStart=@wlsunset@/bin/wlsunset '-L' '128.8' '-T' '6000' '-g' '0.6' '-l' '12.3' '-t' '3500'
[Unit]
After=graphical-session.target
Description=Day/night gamma adjustments for Wayland compositors.
PartOf=graphical-session.target