wildfire: 267 current 2025-06-20 17:55:44 25.05.20250617.36ab78d 6.15.2 *

Hypridle
This commit is contained in:
2025-06-20 17:55:49 +02:00
parent 4f7e4dc4c2
commit ac75745f93
4 changed files with 40 additions and 1 deletions

View File

@ -27,9 +27,10 @@
}; };
# User-specific Home Manager configurations # User-specific Home Manager configurations
users.schulze.imports = [ users.schulze.imports = [
./home/hyprland.nix # Hyprland window manager user config
./home/home-manager.nix # Base user environment ./home/home-manager.nix # Base user environment
./home/hyprland.nix # Hyprland window manager user config
./home/hyprlock.nix # Hyprlock screen lock user config ./home/hyprlock.nix # Hyprlock screen lock user config
./home/hypridle.nix # Hypridle idle daemon user config
./home/rofi.nix # Rofi theme/config ./home/rofi.nix # Rofi theme/config
./home/ghostty.nix # Ghostty config ./home/ghostty.nix # Ghostty config
./home/gtk.nix # GTK theme ./home/gtk.nix # GTK theme

View File

@ -21,6 +21,9 @@
# Power management services for laptops and desktops # Power management services for laptops and desktops
upower.enable = true; # Battery and power device monitoring upower.enable = true; # Battery and power device monitoring
power-profiles-daemon.enable = true; # CPU frequency scaling power-profiles-daemon.enable = true; # CPU frequency scaling
# Hypridle, idle daemon
hypridle.enable = true;
}; };
# ================================ # ================================

34
modules/home/hypridle.nix Normal file
View File

@ -0,0 +1,34 @@
{
services.hypridle = {
enable = true;
settings = {
general = {
ignore_dbus_inhibit = false;
after_sleep_cmd = "hyprctl dispatch dpms on"; # to avoid having to press a key twice to turn on the display.
before_sleep_cmd = "loginctl lock-session"; # lock before suspend.
lock_cmd = "pidof hyprlock || hyprlock";
};
listener = [
{
timeout = 150; # 2.5min.
on-timeout = "brightnessctl -s set 10"; # set monitor backlight to minimum, avoid 0 on OLED monitor.
on-resume = "brightnessctl -r"; # monitor backlight restore.
}
{
timeout = 300; # 5min.
on-timeout = "loginctl lock-session"; # lock screen when timeout has passed
}
{
timeout = 600; # 10min.
on-timeout = "hyprctl dispatch dpms off"; # screen off when timeout has passed
on-resume = "hyprctl dispatch dpms on && brightnessctl -r"; # screen on when activity is detected after timeout has fired.
}
#{
# timeout = 1800; # 30min.
# on-timeout = "systemctl suspend"; # suspend pc
#}
];
};
};
}

View File

@ -7,6 +7,7 @@ in {
settings = { settings = {
exec-once = [ exec-once = [
"hyprpaper" "hyprpaper"
"hypridle"
]; ];
input = { input = {
kb_layout = "se"; kb_layout = "se";