aboutsummaryrefslogtreecommitdiff
path: root/modules/lockscreen.nix
blob: 386f08a628a0c3ccb6b702a9637cac91d76813c7 (plain) (blame)
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
{ pkgs, lib, ... }:
let
  localPkgs = import ../packages/default.nix { inherit pkgs; };
in {
  environment.systemPackages = [ localPkgs.bslock ];

  # TODO: Clear gpg pass cache on autolock `gpg-connect-agent reloadagent /bye`
  services.xserver.xautolock = {
    enable = true;
    time = 45; # minutes
    locker = "/run/wrappers/bin/bslock"; # Bslock with security wrapper
    enableNotifier = true;
    notify = 30;
    notifier = ''${pkgs.libnotify}/bin/notify-send "Locking in 30 seconds"'';
    killer = null;
  };

  # Security wrappers
  security.wrappers = {
    bslock = {
      # owner = config.users.users.imsohexy.name;
      owner = "root";
      setuid = true;
      group = "root";
      source = "${localPkgs.bslock}/bin/bslock";
    };
  };
}