nixcfg/homeManagerModules/desktop/sway/scripts.nix
Aly Raffauf 3f9918caf9
home.desktop: generic autoSuspend, randomWallpaper, and redShift options (#67)
* move sway/hyprland autoSuspend settings to desktop module

* mauville: migrate settings

* migrate missing if statements

* home/desktop: move randomWallpaper to to desktop

* migrate randomWallpaper

* home: migrate redShift options to desktop
2024-07-30 16:34:06 -04:00

32 lines
976 B
Nix

{
config,
lib,
pkgs,
...
}: let
cfg = config.ar.home;
swaymsg = lib.getExe' config.wayland.windowManager.sway.package "swaymsg";
in {
idleD = let
timeouts =
["timeout 120 '${lib.getExe pkgs.brightnessctl} -s set 10' resume '${lib.getExe pkgs.brightnessctl} -r'"]
++ (
if cfg.desktop.autoSuspend
then ["timeout 600 '${lib.getExe' pkgs.systemd "systemctl"} suspend'"]
else [
"timeout 600 '${lib.getExe pkgs.swaylock}'"
"timeout 630 '${swaymsg} \"output * dpms off\"' resume '${swaymsg} \"output * dpms on\"'"
]
);
beforeSleeps =
lib.optionals cfg.desktop.autoSuspend
[
"before-sleep '${lib.getExe pkgs.playerctl} pause'"
"before-sleep '${lib.getExe pkgs.swaylock}'"
];
in
pkgs.writeShellScript "sway-idled"
"${lib.getExe pkgs.swayidle} -w lock '${lib.getExe pkgs.swaylock}' ${lib.strings.concatStringsSep " " (timeouts ++ beforeSleeps)}";
}