oizys/modules/desktop/lock/default.nix

40 lines
762 B
Nix

{
pkgs,
config,
lib,
...
}:
let
inherit (lib) mkIf;
cfg = config.services.xserver.windowManager.qtile;
lock = pkgs.writeShellApplication {
name = "lock";
runtimeInputs = with pkgs; [
i3lock-color
figlet
procps
];
text = builtins.readFile ./lock.sh;
};
in
{
config = mkIf cfg.enable {
environment.systemPackages = with pkgs; [
xss-lock
lock
];
systemd.services.i3lock = {
wantedBy = [ "sleep.target" ];
description = "Lock the screen using a custom lock script";
before = [ "suspend.target" ];
serviceConfig = {
User = "daylin";
Type = "forking";
Environment = "DISPLAY=:0";
ExecStart = "${lock}/bin/lock";
};
};
};
}