47 lines
1.1 KiB
Nix
47 lines
1.1 KiB
Nix
{
|
|
config,
|
|
pkgs,
|
|
lib,
|
|
...
|
|
}: {
|
|
#TODO: use xss-lock
|
|
systemd.services.betterlockscreen = {
|
|
enable = true;
|
|
description = "Locks screen when going to sleep/suspend";
|
|
environment = {DISPLAY = ":0";};
|
|
serviceConfig = {
|
|
User = config.host.details.user;
|
|
Type = "simple";
|
|
ExecStart = ''${lib.getExe pkgs.betterlockscreen} --lock dim'';
|
|
ExecStartPost = ''${pkgs.coreutils}/bin/sleep 1'';
|
|
TimeoutSec = "infinity";
|
|
};
|
|
wantedBy = ["sleep.target"];
|
|
before = ["sleep.target"];
|
|
};
|
|
|
|
home-manager.users.${config.host.details.user} = {
|
|
config,
|
|
osConfig,
|
|
lib,
|
|
...
|
|
}: {
|
|
home.packages = with pkgs; [
|
|
betterlockscreen
|
|
];
|
|
|
|
xsession.windowManager.i3.config = {
|
|
keybindings = let
|
|
mod = config.xsession.windowManager.i3.config.modifier;
|
|
in {
|
|
"${mod}+x" = ''
|
|
exec --no-startup-id betterlockscreen --lock blur
|
|
'';
|
|
};
|
|
};
|
|
# Define systemd service for betterlockscreen to run on suspend
|
|
imports = [
|
|
../../home-manager/feh.nix
|
|
];
|
|
};
|
|
}
|