From fac41990488a38c128e755083f0cef86128715fa Mon Sep 17 00:00:00 2001 From: bandithedoge Date: Sun, 9 Aug 2026 21:05:47 +0200 Subject: [PATCH] modules/kanshi: add systemd service --- modules/kanshi/module.nix | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/modules/kanshi/module.nix b/modules/kanshi/module.nix index 24005b17..ed08d116 100644 --- a/modules/kanshi/module.nix +++ b/modules/kanshi/module.nix @@ -6,6 +6,7 @@ }: { _class = "wrapper"; + imports = [ wlib.modules.systemd ]; options = { configFile = lib.mkOption { type = wlib.types.file config.pkgs; @@ -25,6 +26,11 @@ } ''; }; + systemdTarget = lib.mkOption { + type = lib.types.str; + default = "graphical-session.target"; + description = "Systemd unit to bind to"; + }; }; config.flags = { "--config" = "${config.configFile.path}"; @@ -32,4 +38,16 @@ config.package = config.pkgs.kanshi; config.meta.maintainers = [ lib.maintainers.adeci ]; config.meta.platforms = lib.platforms.linux; + config.systemd = { + partOf = [ config.systemdTarget ]; + after = [ config.systemdTarget ]; + wantedBy = [ config.systemdTarget ]; + unitConfig.ConditionEnvironment = "WAYLAND_DISPLAY"; + serviceConfig = { + Type = "simple"; + ExecStart = "${config.exePath} --config ${config.configFile.path}"; + ExecReload = "${lib.getExe' config.wrapper "kanshictl"} reload"; + Restart = "always"; + }; + }; }