From 1871ca6ef6e1b8659acb483c79eae0aaa3e02aa1 Mon Sep 17 00:00:00 2001 From: biscuit Date: Mon, 26 May 2025 19:12:14 -0500 Subject: [PATCH] upd --- modules/app.nix | 4 +-- modules/desktop/display-manager.nix | 2 ++ pkgs/delfin/default.nix | 5 ---- pkgs/hypridle/default.nix | 38 +++++++++++++++++++++++++++++ pkgs/hyprlock/default.nix | 7 ++++++ system/desktop/wayland.nix | 2 ++ 6 files changed, 51 insertions(+), 7 deletions(-) delete mode 100644 pkgs/delfin/default.nix create mode 100644 pkgs/hypridle/default.nix create mode 100644 pkgs/hyprlock/default.nix diff --git a/modules/app.nix b/modules/app.nix index a890ed1..0e08b72 100644 --- a/modules/app.nix +++ b/modules/app.nix @@ -1,5 +1,5 @@ {pkgs, ...}: { - imports = [ - ../pkgs/delfin/default.nix + environment.systemPackages = with pkgs; [ + delfin ]; } diff --git a/modules/desktop/display-manager.nix b/modules/desktop/display-manager.nix index 317b722..4fa02b8 100644 --- a/modules/desktop/display-manager.nix +++ b/modules/desktop/display-manager.nix @@ -5,5 +5,7 @@ ../../pkgs/swww/default.nix ../../pkgs/waybar/default.nix ../../pkgs/wofi/default.nix + ../../pkgs/hypridle/default.nix + ../../pkgs/hyprlock/default.nix ]; } diff --git a/pkgs/delfin/default.nix b/pkgs/delfin/default.nix deleted file mode 100644 index 0e08b72..0000000 --- a/pkgs/delfin/default.nix +++ /dev/null @@ -1,5 +0,0 @@ -{pkgs, ...}: { - environment.systemPackages = with pkgs; [ - delfin - ]; -} diff --git a/pkgs/hypridle/default.nix b/pkgs/hypridle/default.nix new file mode 100644 index 0000000..7bf9787 --- /dev/null +++ b/pkgs/hypridle/default.nix @@ -0,0 +1,38 @@ +{...}: { + services.hypridle = { + enable = true; + settings = { + general = { + lock_cmd = "pidof hyprlock || hyprlock"; # avoid starting multiple hyprlock instances. + before_sleep_cmd = "loginctl lock-session"; # lock before suspend. + after_sleep_cmd = "hyprctl dispatch dpms on"; # avoid needing to press a key twice to turn on the display. + }; + + listener = [ + # { + # timeout = 150; + # on-timeout = "brightnessctl -s set 10"; # set monitor backlight to minimum, avoid 0 on OLED monitor. + # on-resume = "brightnessctl -r"; # restore monitor backlight. + # } + # { + # timeout = 150; + # on-timeout = "brightnessctl -sd rgb:kbd_backlight set 0"; # turn off keyboard backlight. + # on-resume = "brightnessctl -rd rgb:kbd_backlight"; # turn on keyboard backlight. + # } + # { + # timeout = 300; + # on-timeout = "loginctl lock-session"; # lock screen when timeout has passed. + # } + # { + # timeout = 330; + # on-timeout = "hyprctl dispatch dpms off"; # screen off after 5.5min. + # on-resume = "hyprctl dispatch dpms on && brightnessctl -r"; # screen on and restore brightness on resume. + # } + { + timeout = 1800; + on-timeout = "systemctl suspend"; # suspend PC after 30min. + } + ]; + }; + }; +} diff --git a/pkgs/hyprlock/default.nix b/pkgs/hyprlock/default.nix new file mode 100644 index 0000000..ffad661 --- /dev/null +++ b/pkgs/hyprlock/default.nix @@ -0,0 +1,7 @@ +{...}: { + services.hyprlock = { + enable = true; + settings = { + }; + }; +} diff --git a/system/desktop/wayland.nix b/system/desktop/wayland.nix index cb01a2b..b8e4913 100644 --- a/system/desktop/wayland.nix +++ b/system/desktop/wayland.nix @@ -1,6 +1,8 @@ {pkgs, ...}: { environment.systemPackages = with pkgs; [ wl-clipboard + hypridle + hyprlock ]; programs.hyprland.enable = true; hardware = {