nixos-configuration/home/vinzenz/swaylock.nix
Vinzenz Schroeter f437f44897 more niri config
2025-04-05 11:41:00 +02:00

52 lines
1.4 KiB
Nix

# based on https://codeberg.org/kiara/cfg/src/commit/b9c472acd78c9c08dfe8b6a643c5c82cc5828433/home-manager/kiara/swaylock.nix#
{ pkgs, config, ... }:
{
config = {
programs.swaylock = {
enable = true;
package = pkgs.swaylock-effects;
# https://github.com/jirutka/swaylock-effects/blob/master/swaylock.1.scd
settings = {
screenshot = true;
effect-blur = "9x9";
effect-vignette = "0.2:0.2";
fade-in = 0.5;
font-size = 75;
indicator-caps-lock = true;
clock = true;
indicator-radius = 400;
show-failed-attempts = true;
ignore-empty-password = true;
grace = 2;
color = "000000";
indicator-thickness = 20;
};
};
services.swayidle = {
enable = true;
systemdTarget = "graphical-session.target";
timeouts = [
{
timeout = 30;
command = "${config.programs.swaylock.package}/bin/swaylock";
}
{
timeout = 60 * 10;
command = "${pkgs.systemd}/bin/systemctl suspend";
}
];
events = [
{
event = "before-sleep";
command = "${pkgs.playerctl}/bin/playerctl pause; ${config.programs.swaylock.package}/bin/swaylock";
}
{
event = "lock";
command = "${config.programs.swaylock.package}/bin/swaylock";
}
];
};
};
}