30 lines
643 B
Nix
30 lines
643 B
Nix
|
{ pkgs, config, ... }:
|
||
|
|
||
|
{
|
||
|
systemd.services.screenlock = {
|
||
|
before = [ "sleep.target" ];
|
||
|
requiredBy = [ "sleep.target" ];
|
||
|
environment =
|
||
|
let
|
||
|
display = if (config.services.xserver.display != null)
|
||
|
then config.services.xserver.display
|
||
|
else 0;
|
||
|
in {
|
||
|
DISPLAY = ":${toString display}";
|
||
|
};
|
||
|
script = ''
|
||
|
${pkgs.xlockmore}/bin/xlock -mode life1d -size 1 &
|
||
|
sleep 4
|
||
|
'';
|
||
|
serviceConfig = {
|
||
|
SyslogIdentifier = "screenlock";
|
||
|
# Type = "simple";
|
||
|
Type = "forking";
|
||
|
User = config.users.users.mainUser.name;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
services.logind.lidSwitch = "suspend";
|
||
|
|
||
|
}
|