hyprland: add support for XDG autostart using systemd

Using the option

    wayland.windowManager.hyprland.systemd.enableXdgAutostart

users can now choose to start applications present in
`$XDG_CONFIG_HOME/autostart` when starting their sway session.

See 0144ac418e and
https://github.com/nix-community/home-manager/pull/3747
This commit is contained in:
Sefa Eyeoglu 2024-02-09 18:09:33 +01:00 committed by Robert Helgesson
parent 223743313b
commit f55718aec3
No known key found for this signature in database
GPG key ID: 96E745BD17AA17ED

View file

@ -102,6 +102,10 @@ in {
];
description = "Extra commands to be run after D-Bus activation.";
};
enableXdgAutostart = lib.mkEnableOption ''
autostart of applications using
{manpage}`systemd-xdg-autostart-generator(8)`'';
};
xwayland.enable = lib.mkEnableOption "XWayland" // { default = true; };
@ -247,8 +251,12 @@ in {
Description = "Hyprland compositor session";
Documentation = [ "man:systemd.special(7)" ];
BindsTo = [ "graphical-session.target" ];
Wants = [ "graphical-session-pre.target" ];
Wants = [ "graphical-session-pre.target" ]
++ lib.optional cfg.systemd.enableXdgAutostart
"xdg-desktop-autostart.target";
After = [ "graphical-session-pre.target" ];
Before = lib.mkIf cfg.systemd.enableXdgAutostart
[ "xdg-desktop-autostart.target" ];
};
};