27 lines
955 B
Nix
27 lines
955 B
Nix
{ pkgs, psCfg, ... }:
|
|
{
|
|
Unit = {
|
|
Description = "Idle manager for Wayland";
|
|
Documentation = [ "man:swayidle(1)" ];
|
|
BindsTo = [ "graphical-session.target" ];
|
|
Wants = [ "graphical-session-pre.target" ];
|
|
After = [ "graphical-session-pre.target" ];
|
|
};
|
|
Service = {
|
|
Type = "simple";
|
|
Environment = "PATH=/run/current-system/sw/bin:${pkgs.sway}/bin";
|
|
ExecStart = ''${pkgs.swayidle}/bin/swayidle -w \
|
|
after-resume 'swaymsg "output * dpms on"' \
|
|
before-sleep '${pkgs.swaylock-bg}/bin/swaylock-bg' '' + (if psCfg.paranoia.enable then '' \
|
|
timeout 120 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' \
|
|
timeout 150 'systemctl hibernate'
|
|
'' else '' \
|
|
timeout 600 '${pkgs.swaylock-bg}/bin/swaylock-bg' \
|
|
timeout 900 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"'
|
|
'');
|
|
};
|
|
Install = {
|
|
WantedBy = [ "sway-session.target" ];
|
|
};
|
|
}
|