nixfleet/hmModules/swayidle/default.nix
Andrea Ciceri ea612479a0
Some checks failed
EVAL x86_64-linux.picard
BUILD x86_64-linux.picard
UPLOAD x86_64-linux.picard
DOWNLOAD x86_64-linux.picard
CACHIX x86_64-linux.picard
ATTIC x86_64-linux.picard
/ test (push) Successful in 20m31s
Add niri as window manager
2025-01-08 15:25:39 +01:00

57 lines
1.3 KiB
Nix

{
pkgs,
lib,
...
}:
{
services.swayidle =
let
swaylockWithArgs = pkgs.writeScriptBin "swaylockWithArgs" ''
${pkgs.swaylock-effects}/bin/swaylock \
--daemonize \
--screenshots \
--clock \
--indicator \
--indicator-radius 100 \
--indicator-thickness 7 \
--effect-blur 7x5 \
--effect-vignette 0.5:0.5 \
--ring-color bb00cc \
--key-hl-color 880033 \
--line-color 00000000 \
--inside-color 00000088 \
--separator-color 00000000 \
--fade-in 0.2
'';
swaylockCommand = "${swaylockWithArgs}/bin/swaylockWithArgs";
in
{
enable = true;
events = [
{
event = "before-sleep";
command = swaylockCommand;
}
{
event = "lock";
command = swaylockCommand;
}
];
timeouts = [
{
timeout = 600;
command = swaylockCommand;
}
{
timeout = 720;
command = "${pkgs.systemd}/bin/systemctl suspend";
}
];
};
# Otherwise it will start only after Sway and will not work with Hyprland
systemd.user.services.swayidle = {
Unit.PartOf = lib.mkForce [ ];
Install.WantedBy = lib.mkForce [ "graphical-session-pre.target" ];
};
}