Compare commits

..

2 Commits

Author SHA1 Message Date
thomas 534ec8b99f cursor extension 2026-04-16 11:55:57 +01:00
thomas c004356b5a zellij cleanup + small files 2026-04-16 09:48:44 +01:00
4 changed files with 1688 additions and 7 deletions
+10 -1
View File
@@ -102,10 +102,19 @@ status is-interactive; and begin
end end
# Add user local bin to PATH # PATH ordering: prefer Nix/system binaries over self-installed shims in ~/.local/bin
if test (uname) = Linux
fish_add_path -m /run/current-system/sw/bin
end
# Add user local bin to PATH, but keep it after system paths on Linux
if test -d "$HOME/.local/bin" if test -d "$HOME/.local/bin"
if test (uname) = Linux
fish_add_path -a -m "$HOME/.local/bin"
else
fish_add_path "$HOME/.local/bin" fish_add_path "$HOME/.local/bin"
end end
end
# pnpm # pnpm
switch (uname) switch (uname)
+5 -5
View File
@@ -1,15 +1,15 @@
{ {
"lastChangelogVersion": "0.66.1", "lastChangelogVersion": "0.67.3",
"defaultProvider": "openai-codex", "defaultProvider": "cursor-acp",
"defaultModel": "gpt-5.3-codex", "defaultModel": "auto",
"defaultThinkingLevel": "high", "defaultThinkingLevel": "medium",
"theme": "matugen", "theme": "matugen",
"lsp": { "lsp": {
"hookMode": "edit_write" "hookMode": "edit_write"
}, },
"hideThinkingBlock": false, "hideThinkingBlock": false,
"slowtool": { "slowtool": {
"timeoutSeconds": 120, "timeoutSeconds": 300,
"enabled": true "enabled": true
} }
} }
File diff suppressed because it is too large Load Diff
+102
View File
@@ -0,0 +1,102 @@
#!/usr/bin/env bash
set -euo pipefail
# Cleans up zellij sessions that are inactive:
# - sessions marked EXITED (resurrectable metadata)
# - running sessions with 0 attached clients
#
# Usage:
# cleanup-zellij-inactive.sh # delete inactive sessions
# cleanup-zellij-inactive.sh --dry-run # show what would be deleted
DRY_RUN=0
case "${1-}" in
"" ) ;;
-n|--dry-run) DRY_RUN=1 ;;
-h|--help)
cat <<'EOF'
cleanup-zellij-inactive.sh
Delete zellij sessions that are inactive:
- EXITED sessions are deleted
- running sessions with 0 attached clients are killed+deleted
Options:
-n, --dry-run Show what would be deleted
-h, --help Show this help
EOF
exit 0
;;
*)
echo "Unknown option: $1" >&2
echo "Use --help for usage" >&2
exit 1
;;
esac
if ! command -v zellij >/dev/null 2>&1; then
echo "zellij not found in PATH" >&2
exit 1
fi
mapfile -t session_lines < <(zellij list-sessions --no-formatting 2>/dev/null || true)
if [ "${#session_lines[@]}" -eq 0 ]; then
echo "No zellij sessions found"
exit 0
fi
deleted=0
failed=0
kept=0
for line in "${session_lines[@]}"; do
[ -z "$line" ] && continue
name="${line%% *}"
is_exited=0
if [[ "$line" == *"EXITED"* ]]; then
is_exited=1
fi
should_delete=0
if [ "$is_exited" -eq 1 ]; then
should_delete=1
else
# Running session: check attached clients
clients_out="$(zellij --session "$name" action list-clients 2>/dev/null || true)"
client_count="$(printf '%s\n' "$clients_out" | tail -n +2 | sed '/^\s*$/d' | wc -l | tr -d ' ')"
if [ "$client_count" -eq 0 ]; then
should_delete=1
fi
fi
if [ "$should_delete" -eq 1 ]; then
if [ "$DRY_RUN" -eq 1 ]; then
echo "[dry-run] delete: $name"
deleted=$((deleted + 1))
else
# --force also kills running sessions before deleting
if zellij delete-session --force "$name" >/dev/null 2>&1; then
echo "deleted: $name"
deleted=$((deleted + 1))
else
echo "failed: $name" >&2
failed=$((failed + 1))
fi
fi
else
kept=$((kept + 1))
fi
done
echo
if [ "$DRY_RUN" -eq 1 ]; then
echo "Would delete: $deleted"
else
echo "Deleted: $deleted"
echo "Failed: $failed"
fi
echo "Kept: $kept"