ctucx.git: nixfiles

ctucx' nixfiles

1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 
27 
28 
29 
30 
31 
32 
33 
34 
35 
36 
37 
38 
39 
40 
41 
42 
43 
44 
45 
46 
47 
48 
49 
50 
51 
52 
53 
54 
55 
56 
57 
58 
{ config, lib, pkgs, ... }:

let
  cfg = config.ctucxConfig.services.systemd-lock-handler;

in {

  options = {
    ctucxConfig.services.systemd-lock-handler = {
      enable = lib.mkEnableOption "waybar";
    };
  };

  config = lib.mkIf cfg.enable {

    home-manager.users.katja.systemd.user = {
      services.systemd-lock-handler = {
        Unit = {
          Description   = "Logind lock event to systemd target translation";
          Documentation = [ "https://sr.ht/~whynothugo/systemd-lock-handler" ];
        };

        Service = {
          Type      = "notify";
          ExecStart = "${pkgs.systemd-lock-handler}/lib/systemd-lock-handler";
        };

        Install = {
          WantedBy = [ "default.target" ];
        };
      };

      targets = {
        lock = {
          Unit = {
            Description = "Lock the current session";
            Conflicts   = [ "unlock.target" ];
          };
        };

        unlock = {
          Unit = {
            Description = "Unlock the current session";
            Conflicts   = [ "lock.target" ];
          };
        };

        sleep = {
          Unit = {
            Description = "User-level target triggered when the system is about to sleep";
          };
        };
      };
    };

  };

}