From a17b76dea19cda75cb47feb301b722315919fbe4 Mon Sep 17 00:00:00 2001 From: BardMoon <144455455+BardMoon@users.noreply.github.com> Date: Mon, 1 Sep 2025 17:06:02 +0900 Subject: nix/hm: add systemd.target in home-manager (#532) * nix: add systemd.target * fix: format * Update README.md * Update hm-module.nix https://github.com/Vladimir-csp/uwsm/blob/cf2b1d84059f1954d4ec864f2b46a86515acc3c1/example-units/hyprpaper.service#L19 * fix * Update README.md --- README.md | 5 ++++- nix/hm-module.nix | 13 ++++++++++--- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 61034f0..c033353 100644 --- a/README.md +++ b/README.md @@ -213,7 +213,10 @@ For NixOS users, a home manager module is also available. ```nix programs.caelestia = { enable = true; - systemd.enable = false; # if you prefer starting from your compositor + systemd = { + enable = false; # if you prefer starting from your compositor + target = "graphical-session.target"; + }; settings = { bar.status = { showBattery = false; diff --git a/nix/hm-module.nix b/nix/hm-module.nix index 533b2f6..ef463b8 100644 --- a/nix/hm-module.nix +++ b/nix/hm-module.nix @@ -25,6 +25,13 @@ in { default = true; description = "Enable the systemd service for Caelestia shell"; }; + target = mkOption { + type = types.str; + description = '' + The systemd target that will automatically start the Caelestia shell. + ''; + default = "graphical-session.target"; + }; }; settings = mkOption { type = types.attrsOf types.anything; @@ -65,8 +72,8 @@ in { systemd.user.services.caelestia = lib.mkIf cfg.systemd.enable { Unit = { Description = "Caelestia Shell Service"; - After = ["graphical-session.target"]; - PartOf = ["graphical-session.target"]; + After = [cfg.systemd.target]; + PartOf = [cfg.systemd.target]; X-Restart-Triggers = lib.mkIf (cfg.settings != {}) [ "${config.xdg.configFile."caelestia/shell.json".source}" ]; @@ -86,7 +93,7 @@ in { }; Install = { - WantedBy = ["graphical-session.target"]; + WantedBy = [cfg.systemd.target]; }; }; -- cgit v1.2.3-freya