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 
{ config, lib, pkgs, ... }:

let
  cfg = config.ctucxConfig.services.swaylock;

in {

  options = {
    ctucxConfig.services.swaylock = {
      enable = lib.mkEnableOption "swaybar screenlock";
    };
  };

  config = lib.mkIf cfg.enable {

    ctucxConfig.services.systemd-lock-handler.enable = true;

    security.pam.services.swaylock = {};

    home-manager.users.katja.systemd.user.services = {
      swaylock = {
        Unit = {
          Requisite = [ "graphical-session.target" ];
          PartOf    = [ "lock.target" "sleep.target" ];
        };

        Service = {
          ExecStart    = "${pkgs.swaylock}/bin/swaylock -i /home/katja/Pictures/Backgrounds/lock.png";
          ExecStopPost = "${pkgs.systemd}/bin/loginctl unlock-session";
        };

        Install = {
          WantedBy = [ "lock.target" "sleep.target" ];
        };
      };
    };

  };

}