45 lines
1 KiB
Nix
45 lines
1 KiB
Nix
{
|
|
config,
|
|
pkgs,
|
|
lib,
|
|
...
|
|
}: {
|
|
systemd.services.betterlockscreen = {
|
|
enable = true;
|
|
description = "Locks screen when going to sleep/suspend";
|
|
environment = {DISPLAY = "0";};
|
|
serviceConfig = {
|
|
User = config.host.details.user;
|
|
alias = ["betterlockscreen@${config.host.details.user}.service"];
|
|
Type = "simple";
|
|
ExecStart = ''${pkgs.betterlockscreen}/bin/betterlockscreen --lock dim'';
|
|
TimeoutSec = "infinity";
|
|
};
|
|
wantedBy = ["sleep.target" "suspend.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
|
|
];
|
|
};
|
|
}
|