commit 66f9a4d69043db61c237c82ee9069dc5855b26c9
parent 57ae4c9b4243694ed730723dd9b93b2ffbac6a22
Author: Katja Ramona Sophie Kwast (zaphyra) <git@zaphyra.eu>
Date: Wed, 27 Aug 2025 17:12:55 +0200
parent 57ae4c9b4243694ed730723dd9b93b2ffbac6a22
Author: Katja Ramona Sophie Kwast (zaphyra) <git@zaphyra.eu>
Date: Wed, 27 Aug 2025 17:12:55 +0200
config: add `gtklock`
2 files changed, 59 insertions(+), 0 deletions(-)
diff --git a/config/home-manager/zaphyra/programs/gtklock.nix b/config/home-manager/zaphyra/programs/gtklock.nix @@ -0,0 +1,17 @@ +{ pkgs, ... }: + +{ + + tgc.programs.gtklock = { + enable = false; + systemd.enable = true; + settings.main = { + idle-hide = true; + idle-timeout = 10; + }; + modules = [ + pkgs.gtklock-playerctl-module + ]; + }; + +}
diff --git a/config/nixos/modules/services/gtklock.nix b/config/nixos/modules/services/gtklock.nix @@ -0,0 +1,42 @@ +{ + povSelf, + config, + lib, + pkgs, + ... +}: +let + inherit (lib) types; + cfg = lib.getAttrFromPath povSelf config; + +in +{ + + options.enable = { + type = types.bool; + default = false; + }; + + config = lib.mkIf cfg.enable { + security.pam.services.gtklock = { }; + + services.systemd-lock-handler.enable = true; + + home-manager.sharedModules = [ + { + systemd.user.services = { + gtklock = lib.mkDefault { + Unit.OnSuccess = [ "unlock.target" ]; + Unit.PartOf = [ "lock.target" ]; + Unit.After = [ "lock.target" ]; + Install.WantedBy = [ "lock.target" ]; + Service.ExecStart = lib.getExe pkgs.gtklock; + Service.Restart = "on-failure"; + Service.RestartSec = 0; + }; + }; + } + ]; + }; + +}