Some updates to get locking working again, also added performance mode

script
This commit is contained in:
Ryan 2024-10-21 14:48:05 -04:00
parent f4b1d571ae
commit a0ac11339d
Signed by: ryan77627
GPG key ID: 81B0E222A3E2308E
6 changed files with 61 additions and 10 deletions

View file

@ -11,7 +11,9 @@ nice -n13 swww init &
#~/.config/hypr/wallpaper-daemon.sh &
wpaperd -d &
swayidle -w timeout 300 'swaylock --screenshots --clock --indicator --grace 3 --fade-in 1 --effect-blur 7x5 --effect-greyscale' timeout 600 'hyprctl dispatch dpms off' resume 'hyprctl dispatch dpms on' before-sleep 'swaylock -f -c 000000' &
#swayidle -w timeout 300 'swaylock --screenshots --clock --indicator --grace 3 --fade-in 1 --effect-blur 7x5 --effect-greyscale' timeout 600 'hyprctl dispatch dpms off' resume 'hyprctl dispatch dpms on' before-sleep 'swaylock -f -c 000000' &
hypridle &
syncthing serve --no-browser &

View file

@ -0,0 +1,16 @@
general {
lock_cmd = pidof hyprlock || hyprlock
before_sleep_cmd = loginctl lock-session
after_sleep_cmd = hyprctl dispatch dpms on
}
listener {
timeout = 300
on-timeout = loginctl lock-session
}
listener {
timeout = 600
on-timeout = hyprctl dispatch dpms off
on-resume = hyprctl dispatch dpms on
}

View file

@ -203,8 +203,11 @@ bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow
# Bind mainMod + L to screenlocker
bind = $mainMod, L, exec, swaylock --screenshots --clock --indicator --fade-in 0.3 --effect-blur 7x5 --effect-greyscale
bind = $mainMod SHIFT, L, exec, swaylock --screenshots --clock --indicator --effect-blur 7x5 --effect-greyscale & sleep 0.5; loginctl suspend
bind = $mainMod, L, exec, hyprlock
bind = $mainMod SHIFT, L, exec, loginctl suspend
# Keybind to toggle "performance mode" (toggles GPU intensive things)
bind = $mainMod, F1, exec, ~/.config/hypr/perf_mode.sh
# Keybind for screenshot
bind = $mainMod SHIFT, S, exec, grimblast copy area

14
home-config/hypr/perf_mode.sh Executable file
View file

@ -0,0 +1,14 @@
#!/usr/bin/env bash
HYPRGAMEMODE=$(hyprctl getoption animations:enabled | awk 'NR==1{print $2}')
if [ "$HYPRGAMEMODE" = 1 ] ; then
hyprctl --batch "\
keyword animations:enabled 0;\
keyword decoration:drop_shadow 0;\
keyword decoration:blur:enabled 0;\
keyword general:gaps_in 0;\
keyword general:gaps_out 0;\
keyword general:border_size 1;\
keyword decoration:rounding 0"
exit
fi
hyprctl reload

View file

@ -45,7 +45,6 @@
gdu
spotify-player
hyprpicker
hyprlock
xwayland
xdg-desktop-portal
xdg-desktop-portal-gtk
@ -54,6 +53,14 @@
libva
libvdpau
wpaperd
hypridle
# Wrapped programs for some env variables
(pkgs.writeScriptBin "hyprlock" ''
#! ${pkgs.bash}/bin/bash
export LD_PRELOAD="/run/current-system/profile/lib/libpam.so.0:$LD_PRELOAD"
exec ${pkgs.hyprlock}/bin/hyprlock "$@"
'')
# Flakes specific things defined in flake.nix
hyprland.packages.${pkgs.system}.default

View file

@ -130,6 +130,7 @@
;"swaylock-effects"
"fuzzel"
"foot"
"linux-pam" ; installed directly to get libs in profile directly
"pinentry-qt"
"adwaita-icon-theme"
"hicolor-icon-theme"
@ -162,7 +163,7 @@
"wireshark"
"webkitgtk-with-libsoup2" ; Needed for Go wails development
"zsh"))
(list my-ca-certs virt-manager-ovmf bluez-ryan blueman-ryan swayidle-new)
(list my-ca-certs virt-manager-ovmf bluez-ryan blueman-ryan)
%my-base-packages ))
;; Below is the list of system services. To search for available
@ -189,16 +190,24 @@
(socket "/var/run/tailscale/tailscaled.sock")))
(service containerd-service-type)
(service nix-service-type)
(simple-service 'hyprlock-pam pam-root-service-type
(list
(pam-service
(name "hyprlock")
(auth
(list
(pam-entry (control "include")
(module "login")))))))
(service libvirt-service-type
(libvirt-configuration
(libvirt libvirt-ovmf)
(unix-sock-group "libvirt")))
(service virtlog-service-type)
(service screen-locker-service-type
(screen-locker-configuration
(name "hyprlock")
(program (file-append swaylock "/bin/swaylock"))
(using-pam? #t)))
;(service screen-locker-service-type
; (screen-locker-configuration
; (name "hyprlock")
; (program (file-append swaylock "/bin/swaylock"))
; (using-pam? #t)))
(simple-service 'spice-polkit polkit-service-type (list spice-gtk))
(simple-service 'hwdb-creation etc-service-type (list `("udev-here-oneoneone" ,(plain-file "issue" "test\n"))))
(service bluetooth-service-type