nixos-configs/homeConfigurations/vinzenz/swaylock.nix

82 lines
2.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 = {
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;
2025-11-02 01:19:27 +01:00
grace = 3.5;
2025-03-17 21:49:44 +01:00
indicator-thickness = 20;
2025-11-14 22:15:40 +01:00
# https://github.com/catppuccin/swaylock/blob/main/themes/mocha.conf
color = "1e1e2e";
bs-hl-color = "f5e0dc";
caps-lock-bs-hl-color = "f5e0dc";
caps-lock-key-hl-color = "a6e3a1";
inside-color = "00000000";
inside-clear-color = "00000000";
inside-caps-lock-color = "00000000";
inside-ver-color = "00000000";
inside-wrong-color = "00000000";
key-hl-color = "a6e3a1";
layout-bg-color = "00000000";
layout-border-color = "00000000";
layout-text-color = "cdd6f4";
line-color = "00000000";
line-clear-color = "00000000";
line-caps-lock-color = "00000000";
line-ver-color = "00000000";
line-wrong-color = "00000000";
ring-color = "b4befe";
ring-clear-color = "f5e0dc";
ring-caps-lock-color = "fab387";
ring-ver-color = "89b4fa";
ring-wrong-color = "eba0ac";
separator-color = "00000000";
text-color = "cdd6f4";
text-clear-color = "f5e0dc";
text-caps-lock-color = "fab387";
text-ver-color = "89b4fa";
text-wrong-color = "eba0ac";
2025-03-17 21:49:44 +01:00
};
};
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
};
};
}