nixos-configs/homeConfigurations/vinzenz/swaylock.nix

55 lines
1.5 KiB
Nix
Raw Normal View History

2025-03-17 21:09:27 +01:00
# based on https://codeberg.org/kiara/cfg/src/commit/b9c472acd78c9c08dfe8b6a643c5c82cc5828433/home-manager/kiara/swaylock.nix#
2025-03-17 21:49:44 +01:00
{ pkgs, config, ... }:
2025-03-17 21:09:27 +01:00
{
2025-03-17 21:49:44 +01:00
config = {
2025-11-15 18:56:51 +01:00
stylix.targets.swaylock = {
enable = true;
useWallpaper = true;
};
2025-03-17 21:49:44 +01:00
programs.swaylock = {
enable = true;
package = pkgs.swaylock-effects;
# https://github.com/jirutka/swaylock-effects/blob/master/swaylock.1.scd
settings = {
2025-11-15 18:56:51 +01:00
screenshot = false;
2025-03-17 21:49:44 +01:00
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;
2025-11-02 01:19:27 +01:00
grace = 3.5;
2025-03-17 21:49:44 +01:00
indicator-thickness = 20;
};
};
services.swayidle = {
enable = true;
2025-04-05 11:40:13 +02:00
systemdTarget = "graphical-session.target";
2025-03-17 21:49:44 +01:00
timeouts = [
{
2025-11-02 01:19:27 +01:00
timeout = 60;
2025-04-05 11:40:13 +02:00
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";
2025-03-17 21:49:44 +01:00
command = "${config.programs.swaylock.package}/bin/swaylock";
}
];
2025-03-17 21:09:27 +01:00
};
};
}