feat(devshell): add terminal UI capture tools (#69629)

This commit is contained in:
ethernet
2026-07-22 17:28:21 -04:00
committed by GitHub
parent d6080d4cf7
commit 2244be2282
2 changed files with 23 additions and 0 deletions
+5
View File
@@ -41,6 +41,11 @@
# libglvnd provides libEGL.so.1 that cage needs on NixOS.
cage
libglvnd
# Graphical terminal + Wayland screenshot client for CLI/TUI UI
# evidence. `cage -- ghostty ...` keeps captures off the user's
# live compositor; grim runs inside that isolated client session.
ghostty
grim
]
++ self'.packages.default.passthru.devDeps;
shellHook = ''
+18
View File
@@ -0,0 +1,18 @@
#!/usr/bin/env bash
set -euo pipefail
out=${1:?usage: $0 OUTPUT.png [command...]}
shift
mkdir -p "$(dirname "$out")"
# This runs inside `cage --`, after Ghostty has already opened the isolated
# Wayland display. Capture before this script exits so Cage keeps the surface
# alive long enough for grim to see it.
if (($#)); then
"$@"
fi
if ! command -v grim >/dev/null 2>&1; then
echo "grim is required inside the Cage client session" >&2
exit 127
fi
grim "$out"