From c50a2c77e84014c8a39e7e426e31de5ae1808057 Mon Sep 17 00:00:00 2001 From: alexion Date: Sun, 11 Oct 2026 19:46:49 -0400 Subject: [PATCH] refactor(recording): inline executable helpers --- .../modules/desktop/utilities/recording.nix | 28 +++++++------------ 1 file changed, 10 insertions(+), 18 deletions(-) diff --git a/configs/nixos/modules/desktop/utilities/recording.nix b/configs/nixos/modules/desktop/utilities/recording.nix index c68be60..e1d14dc 100644 --- a/configs/nixos/modules/desktop/utilities/recording.nix +++ b/configs/nixos/modules/desktop/utilities/recording.nix @@ -6,14 +6,6 @@ }: # Keybound screen recording: pick a region, then toggle a video-only capture. let - slurp = lib.getExe pkgs.slurp; - wf-recorder = lib.getExe pkgs.wf-recorder; - notify-send = lib.getExe' pkgs.libnotify "notify-send"; - pgrep = lib.getExe' pkgs.procps "pgrep"; - pkill = lib.getExe' pkgs.procps "pkill"; - date = lib.getExe' pkgs.coreutils "date"; - mkdir = lib.getExe' pkgs.coreutils "mkdir"; - xdgUserDir = lib.getExe' pkgs.xdg-user-dirs "xdg-user-dir"; glyph = code: builtins.fromJSON ''"\u${code}"''; @@ -24,25 +16,25 @@ let # reports it saved. # No -a means no audio is captured. toggle = pkgs.writeShellScript "screen-record-toggle" '' - if ${pgrep} -x wf-recorder >/dev/null; then - ${pkill} -INT -x wf-recorder + if ${lib.getExe' pkgs.procps "pgrep"} -x wf-recorder >/dev/null; then + ${lib.getExe' pkgs.procps "pkill"} -INT -x wf-recorder exit 0 fi - region=$(${slurp}) || exit 0 - dir="$(${xdgUserDir} VIDEOS)/Recordings" - ${mkdir} -p "$dir" - file="$dir/recording-$(${date} +%Y%m%d-%H%M%S).mp4" + region=$(${lib.getExe pkgs.slurp}) || exit 0 + dir="$(${lib.getExe' pkgs.xdg-user-dirs "xdg-user-dir"} VIDEOS)/Recordings" + ${lib.getExe' pkgs.coreutils "mkdir"} -p "$dir" + file="$dir/recording-$(${lib.getExe' pkgs.coreutils "date"} +%Y%m%d-%H%M%S).mp4" - ${notify-send} -a "Screen recording" "Recording started" "Region capture, no audio." - ${wf-recorder} -g "$region" -f "$file" - ${notify-send} -a "Screen recording" "Recording saved" "$file" + ${lib.getExe' pkgs.libnotify "notify-send"} -a "Screen recording" "Recording started" "Region capture, no audio." + ${lib.getExe pkgs.wf-recorder} -g "$region" -f "$file" + ${lib.getExe' pkgs.libnotify "notify-send"} -a "Screen recording" "Recording saved" "$file" ''; # Lit while a wf-recorder capture is running. # Empty text collapses the widget when idle, so it shows nothing until then. recordingStatus = pkgs.writeShellScript "waybar-recording-status" '' - if ${pgrep} -x wf-recorder >/dev/null; then + if ${lib.getExe' pkgs.procps "pgrep"} -x wf-recorder >/dev/null; then printf '{"text":"${glyph "f03d"}","tooltip":"Recording","class":"recording"}\n' else printf '{"text":"","class":"idle"}\n'