From b6d1be0efc1ece3204cb316e359c63eb1a2efa16 Mon Sep 17 00:00:00 2001 From: quirinecker Date: Fri, 30 Jan 2026 18:29:51 +0100 Subject: [PATCH] added some scripts and configuration for gpu screen recorder. note: gpu-screen-recorder must be installed for this --- homemanager/hyprland.nix | 5 +++++ homemanager/hyprland/hyprland.conf | 5 +++++ .../hyprland/scripts/gpu-screen-recorder/save-replay.sh | 3 +++ .../hyprland/scripts/gpu-screen-recorder/start-replay.sh | 6 ++++++ 4 files changed, 19 insertions(+) create mode 100755 homemanager/hyprland/scripts/gpu-screen-recorder/save-replay.sh create mode 100755 homemanager/hyprland/scripts/gpu-screen-recorder/start-replay.sh diff --git a/homemanager/hyprland.nix b/homemanager/hyprland.nix index 1aa3b31..deaf52d 100644 --- a/homemanager/hyprland.nix +++ b/homemanager/hyprland.nix @@ -27,6 +27,11 @@ in "hypr/nix.conf".text = '' $defaultBrowser=${defaultBrowser} ''; + + "hypr/scripts/gpu-screen-recorder/save-replay.sh".source = + config.lib.file.mkOutOfStoreSymlink ./hyprland/scripts/gpu-screen-recorder/save-replay.sh; + "hypr/scripts/gpu-screen-recorder/start-replay.sh".source = + config.lib.file.mkOutOfStoreSymlink ./hyprland/scripts/gpu-screen-recorder/start-replay.sh; }; }; } diff --git a/homemanager/hyprland/hyprland.conf b/homemanager/hyprland/hyprland.conf index f196f19..d42f42b 100644 --- a/homemanager/hyprland/hyprland.conf +++ b/homemanager/hyprland/hyprland.conf @@ -39,6 +39,9 @@ exec-once = hyprpanel & hyprpaper & hypridle & elephant & walker --gapplication- exec-once = gsettings set org.gnome.desktop.interface cursor-theme 'Bibata-Modern-Classic' exec-once = gsettings set org.gnome.desktop.interface cursor-size 24 +# This requires gpu-screen-recorder to be installed. I installed it with this https://wiki.nixos.org/wiki/Gpu-screen-recorder. +exec-once = ~/.config/hypr/scripts/gpu-screen-recorder/start-replay.sh + exec-once = [workspace 4 silent] signal-desktop exec-once = [workspace 4 silent] spotify @@ -226,6 +229,8 @@ bind = SUPER_ALT,L, exec, hyprlock bind = ,F10, exec, hyprlock bind = $mainMod ALT, Space, exec, hyprctl switchxkblayout current next bind = $mainMod SHIFT, S, exec, hyprshot -m region -z +# This requires gpu-screen-recorder to be installed. I installed it with this https://wiki.nixos.org/wiki/Gpu-screen-recorder. +bind = $mainMod SHIFT, V, exec, ~/.config/hypr/scripts/gpu-screen-recorder/save-replay.sh bind = $mainMod SHIFT, C, exec, hyprpicker | wl-copy bind = $mainMod, Y, exec, firefox diff --git a/homemanager/hyprland/scripts/gpu-screen-recorder/save-replay.sh b/homemanager/hyprland/scripts/gpu-screen-recorder/save-replay.sh new file mode 100755 index 0000000..95e2e0d --- /dev/null +++ b/homemanager/hyprland/scripts/gpu-screen-recorder/save-replay.sh @@ -0,0 +1,3 @@ +#!/bin/sh -e +killall -SIGUSR1 gpu-screen-recorder && sleep 0.5 && notify-send -t 1500 -u low -- "GPU Screen Recorder" "Replay saved" + diff --git a/homemanager/hyprland/scripts/gpu-screen-recorder/start-replay.sh b/homemanager/hyprland/scripts/gpu-screen-recorder/start-replay.sh new file mode 100755 index 0000000..c2efd32 --- /dev/null +++ b/homemanager/hyprland/scripts/gpu-screen-recorder/start-replay.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +pidof -q gpu-screen-recorder && exit 0 +video_path="$HOME/Videos" +mkdir -p "$video_path" +gpu-screen-recorder -w screen -f 60 -a default_output -c mkv -bm cbr -q 40000 -r 60 -o "$video_path"