summaryrefslogtreecommitdiff
path: root/scripts/uninstall-whisper.sh
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2025-11-04 14:35:50 -0600
committerCraig Jennings <c@cjennings.net>2025-11-04 14:35:50 -0600
commit45cab5c38dc089935416a89d36b461d9127094ac (patch)
treeccfb33579de009c8c8694f2a79d10e487d74de8f /scripts/uninstall-whisper.sh
parentefbcd0b7de7993b9fde29297daad1154711a3e81 (diff)
feat: Add complete async audio transcription workflow
Implemented full transcription system with local Whisper and OpenAI API support. Includes comprehensive test suite (60 tests) and reorganized keybindings for better discoverability. Features: - Async transcription (non-blocking workflow) - Desktop notifications (started/complete/error) - Output: audio.txt (transcript) + audio.log (process logs) - Modeline integration showing active transcription count - Dired integration (press T on audio files) - Process management and tracking Scripts: - install-whisper.sh: Install Whisper via AUR or pip - uninstall-whisper.sh: Clean removal with cache cleanup - local-whisper: Offline transcription using installed Whisper - oai-transcribe: Cloud transcription via OpenAI API Tests (60 passing): - Audio file detection (16 tests) - Path generation logic (11 tests) - Log cleanup behavior (5 tests) - Duration formatting (9 tests) - Active counter & modeline (11 tests) - Integration workflows (8 tests) Keybindings: - Reorganized gcal to C-; g submenu (s/t/r/c) - Added C-; t transcription submenu (t/b/k) - Dired: T to transcribe file at point 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Diffstat (limited to 'scripts/uninstall-whisper.sh')
-rwxr-xr-xscripts/uninstall-whisper.sh65
1 files changed, 65 insertions, 0 deletions
diff --git a/scripts/uninstall-whisper.sh b/scripts/uninstall-whisper.sh
new file mode 100755
index 00000000..e46c6ebc
--- /dev/null
+++ b/scripts/uninstall-whisper.sh
@@ -0,0 +1,65 @@
+#!/usr/bin/env bash
+# Uninstall OpenAI Whisper
+
+set -euo pipefail
+
+echo "=== Whisper Uninstallation ==="
+echo
+
+REMOVED=false
+
+# Check if installed via AUR
+if command -v yay &> /dev/null; then
+ if yay -Qi python-openai-whisper &> /dev/null 2>&1; then
+ echo "Detected AUR installation (python-openai-whisper)"
+ read -p "Remove via yay? [Y/n] " -n 1 -r
+ echo
+ if [[ $REPLY =~ ^[Yy]$ ]] || [[ -z $REPLY ]]; then
+ yay -R python-openai-whisper
+ echo "✓ Removed via AUR"
+ REMOVED=true
+ fi
+ fi
+fi
+
+# Check if installed via pip
+if pip list 2>/dev/null | grep -q openai-whisper; then
+ echo "Detected pip installation (openai-whisper)"
+ read -p "Remove via pip? [Y/n] " -n 1 -r
+ echo
+ if [[ $REPLY =~ ^[Yy]$ ]] || [[ -z $REPLY ]]; then
+ pip uninstall -y openai-whisper
+ echo "✓ Removed via pip"
+ REMOVED=true
+ fi
+fi
+
+if [[ "$REMOVED" == false ]]; then
+ echo "No whisper installation found (checked AUR and pip)"
+fi
+
+# Ask about ffmpeg
+echo
+read -p "Remove ffmpeg? (may be used by other apps) [y/N] " -n 1 -r
+echo
+if [[ $REPLY =~ ^[Yy]$ ]]; then
+ sudo pacman -R ffmpeg
+ echo "✓ Removed ffmpeg"
+fi
+
+# Ask about model cache
+CACHE_DIR="$HOME/.cache/whisper"
+if [[ -d "$CACHE_DIR" ]]; then
+ echo
+ echo "Whisper models are cached in: $CACHE_DIR"
+ du -sh "$CACHE_DIR" 2>/dev/null || echo "Size: unknown"
+ read -p "Delete cached models? [y/N] " -n 1 -r
+ echo
+ if [[ $REPLY =~ ^[Yy]$ ]]; then
+ rm -rf "$CACHE_DIR"
+ echo "✓ Deleted model cache"
+ fi
+fi
+
+echo
+echo "=== Uninstallation Complete ==="