summaryrefslogtreecommitdiff
path: root/config-dependencies.org
diff options
context:
space:
mode:
Diffstat (limited to 'config-dependencies.org')
-rw-r--r--config-dependencies.org426
1 files changed, 0 insertions, 426 deletions
diff --git a/config-dependencies.org b/config-dependencies.org
deleted file mode 100644
index faee3e0d..00000000
--- a/config-dependencies.org
+++ /dev/null
@@ -1,426 +0,0 @@
-#+TITLE: External Dependencies for Emacs Configuration
-#+AUTHOR: Analysis by Claude Code
-#+DATE: 2025-11-04
-
-* Overview
-
-This document catalogs ALL external dependencies (non-Emacs, non-Emacs-packages) required
-for this Emacs configuration to function fully on Arch Linux.
-
-Dependencies are organized by functionality area with installation commands for pacman/yay.
-
-* Quick Reference
-
-** Minimal Install (Basic Functionality)
-#+BEGIN_SRC bash
-sudo pacman -S git ripgrep fd
-#+END_SRC
-
-** Recommended Install (Common Workflows)
-#+BEGIN_SRC bash
-# Core tools
-sudo pacman -S git ripgrep fd xdg-utils curl
-
-# Media (if using)
-sudo pacman -S ffmpeg yt-dlp task-spooler mpv libpulse
-
-# Development
-sudo pacman -S clang shellcheck shfmt python-pip
-pip install --user python-lsp-server[all] flake8
-npm install -g bash-language-server
-
-# Documents
-sudo pacman -S pandoc texlive-core
-#+END_SRC
-
-** Full Install (All Features)
-#+BEGIN_SRC bash
-# System tools
-sudo pacman -S git ripgrep fd xdg-utils curl dunst
-
-# Media & transcription
-sudo pacman -S ffmpeg yt-dlp task-spooler mpv libpulse
-yay -S python-openai-whisper # Or use scripts/install-whisper.sh
-
-# Email
-sudo pacman -S mu isync msmtp
-
-# Grammar & spelling
-sudo pacman -S languagetool aspell aspell-en
-
-# PDF & documents
-sudo pacman -S poppler zathura zathura-pdf-mupdf pandoc
-
-# LaTeX (if needed)
-sudo pacman -S texlive-most
-
-# Programming tools
-sudo pacman -S clang shellcheck shfmt graphviz
-pip install --user python-lsp-server[all] flake8 mypy
-npm install -g bash-language-server typescript-language-server
-
-# File managers (choose one)
-sudo pacman -S thunar # or nautilus, dolphin, pcmanfm
-
-# Browsers (choose one)
-sudo pacman -S firefox # or chromium
-#+END_SRC
-
-* Core System Tools
-
-** Git - Version Control
-- *Package:* =git=
-- *Used by:* magit, forge, vc-config.el, all development workflows
-- *Functionality:* Essential for version control, package management
-- *Required:* YES
-- *Install:* =sudo pacman -S git=
-
-* Audio/Video Recording & Transcription
-
-** FFmpeg - Media Processing
-- *Package:* =ffmpeg=
-- *Used by:* modules/video-audio-recording.el, scripts/install-whisper.sh
-- *Functionality:* Desktop video/audio recording, media conversion
-- *Required:* YES (if using recording features)
-- *Install:* =sudo pacman -S ffmpeg=
-- *Note:* Explicitly checked in =cj/recording-check-ffmpeg=
-
-** PulseAudio/PipeWire Utils - Audio Device Management
-- *Package:* =libpulse= (provides =pactl= command)
-- *Used by:* modules/video-audio-recording.el
-- *Functionality:* Audio device detection and selection for recording
-- *Required:* YES (if using recording features)
-- *Install:* =sudo pacman -S libpulse=
-- *Commands used:* =pactl list sources short=
-
-** Whisper (OpenAI) - Speech-to-Text
-- *Package:* =python-openai-whisper= (AUR)
-- *Used by:* scripts/local-whisper, modules/transcription-config.el
-- *Functionality:* Local audio transcription (offline)
-- *Required:* OPTIONAL (alternative: OpenAI API with curl)
-- *Install:* =yay -S python-openai-whisper= OR =~/.emacs.d/scripts/install-whisper.sh=
-- *Uninstall:* =~/.emacs.d/scripts/uninstall-whisper.sh=
-- *Size:* ~500MB with models
-
-* Grammar & Spell Checking
-
-** LanguageTool - Grammar Checker
-- *Package:* =languagetool=
-- *Used by:* scripts/languagetool-flycheck, modules/flycheck-config.el
-- *Functionality:* Comprehensive grammar and style checking
-- *Required:* OPTIONAL (only if using grammar checking with =C-; ?=)
-- *Install:* =sudo pacman -S languagetool=
-- *Size:* ~222MB
-- *Dependencies:* Python 3 (for wrapper script at scripts/languagetool-flycheck)
-- *Keybinding:* =C-; ?= in org/text/markdown buffers
-
-** Aspell/Hunspell/Ispell - Spell Checking
-- *Packages:* =aspell= (recommended) OR =hunspell= OR =ispell=
-- *Used by:* modules/flyspell-and-abbrev.el
-- *Functionality:* Real-time spell checking
-- *Required:* OPTIONAL (choose one of the three)
-- *Install:* =sudo pacman -S aspell aspell-en= (recommended)
-- *Note:* Config checks for any of the three spell checkers
-
-* Email System
-
-** Mu - Email Indexer
-- *Package:* =mu=
-- *Used by:* modules/mail-config.el, scripts/setup-email.sh
-- *Functionality:* Email indexing and search (provides mu4e)
-- *Required:* YES (if using email)
-- *Install:* =sudo pacman -S mu=
-- *Provides:* =mu= command and mu4e elisp files
-
-** Isync (mbsync) - Email Sync
-- *Package:* =isync=
-- *Used by:* modules/mail-config.el, scripts/setup-email.sh
-- *Functionality:* IMAP email synchronization
-- *Required:* YES (if using email)
-- *Install:* =sudo pacman -S isync=
-- *Provides:* =mbsync= command
-
-** msmtp - SMTP Email Sending
-- *Package:* =msmtp=
-- *Used by:* modules/mail-config.el, scripts/setup-email.sh
-- *Functionality:* Sending emails via SMTP
-- *Required:* YES (if using email)
-- *Install:* =sudo pacman -S msmtp=
-
-* Media Playback & Downloading
-
-** yt-dlp - Media Downloader
-- *Package:* =yt-dlp=
-- *Used by:* modules/media-utils.el, modules/quick-video-capture.el, modules/elfeed-config.el
-- *Functionality:* Download videos from YouTube and 1000+ sites
-- *Required:* YES (if using video download or media playback from web)
-- *Install:* =sudo pacman -S yt-dlp=
-
-** Task Spooler (tsp) - Queue Management
-- *Package:* =task-spooler=
-- *Used by:* modules/media-utils.el (=cj/yt-dl-it= function)
-- *Functionality:* Queue and background management for downloads
-- *Required:* YES (if using video download)
-- *Install:* =sudo pacman -S task-spooler=
-
-** Media Players (Choose One or More)
-- *MPV* - =mpv= (recommended - works without stream URL extraction)
-- *VLC* - =vlc=
-- *MPlayer* - =mplayer=
-- *Used by:* modules/media-utils.el (customizable via =cj/media-players=)
-- *Functionality:* Playing media URLs
-- *Required:* OPTIONAL (choose preferred player)
-- *Install:* =sudo pacman -S mpv= (recommended)
-
-* PDF & Document Viewing
-
-** PDF Tools Server
-- *Package:* Auto-built by pdf-tools package on first Emacs launch
-- *Requires:* =poppler= library (usually already installed)
-- *Used by:* modules/pdf-config.el
-- *Functionality:* Fast PDF rendering in Emacs
-- *Required:* OPTIONAL (Emacs can use DocView as fallback)
-- *Install:* =sudo pacman -S poppler=
-- *Note:* pdf-tools will compile its server component automatically
-
-** Zathura - External PDF Viewer
-- *Package:* =zathura= and =zathura-pdf-mupdf=
-- *Used by:* modules/pdf-config.el, modules/latex-config.el
-- *Functionality:* External PDF viewing (alternative to pdf-tools)
-- *Required:* OPTIONAL (keybinding: 'z' in pdf-view-mode)
-- *Install:* =sudo pacman -S zathura zathura-pdf-mupdf=
-
-* LaTeX & Document Generation
-
-** LaTeX Distribution
-- *Package:* =texlive-core= (basic) or =texlive-most= (comprehensive)
-- *Used by:* modules/latex-config.el, modules/org-export-config.el
-- *Functionality:* LaTeX document compilation
-- *Required:* OPTIONAL (only if using LaTeX)
-- *Install:* =sudo pacman -S texlive-core= OR =sudo pacman -S texlive-most=
-- *Commands:* =latexmk=, =pdflatex=, =xelatex=
-
-** Pandoc - Universal Document Converter
-- *Package:* =pandoc=
-- *Used by:* modules/org-export-config.el, modules/mail-config.el
-- *Functionality:* Convert between document formats (DOCX, EPUB, HTML, etc.)
-- *Required:* OPTIONAL (enhances org-export capabilities)
-- *Install:* =sudo pacman -S pandoc=
-
-* Programming Language Support
-
-** Language Servers (LSP)
-
-*** Go
-- *gopls* - =go install golang.org/x/tools/gopls@latest=
-- *goimports* - =go install golang.org/x/tools/cmd/goimports@latest=
-- *staticcheck* - =go install honnef.co/go/tools/cmd/staticcheck@latest=
-- *delve* (debugger) - =go install github.com/go-delve/delve/cmd/dlv@latest=
-- *Used by:* modules/prog-go.el
-- *Required:* OPTIONAL (only if using Go development)
-
-*** Python
-- *python-lsp-server* - =pip install --user python-lsp-server[all]=
-- *flake8* - =pip install --user flake8=
-- *mypy* - =pip install --user mypy= (optional type checker)
-- *Used by:* modules/prog-python.el
-- *Required:* OPTIONAL (only if using Python development)
-- *Note:* Install with =--user= flag (no sudo needed)
-
-*** C/C++
-- *clangd* - Provided by =clang= package
-- *clang-format* - Provided by =clang= package
-- *Package:* =clang=
-- *Used by:* modules/prog-c.el
-- *Install:* =sudo pacman -S clang=
-- *Required:* OPTIONAL (only if using C/C++ development)
-
-*** Bash
-- *bash-language-server* - =npm install -g bash-language-server=
-- *shellcheck* - =shellcheck= package (linter)
-- *shfmt* - =shfmt= package (formatter)
-- *Used by:* modules/prog-shell.el
-- *Install:*
- #+BEGIN_SRC bash
- sudo pacman -S shellcheck shfmt nodejs npm
- npm install -g bash-language-server
- #+END_SRC
-- *Required:* OPTIONAL (only if using shell script development)
-
-*** JavaScript/TypeScript
-- *typescript-language-server* - =npm install -g typescript-language-server=
-- *eslint* - =npm install -g eslint= (optional linter)
-- *prettier* - =npm install -g prettier= (optional formatter)
-- *Used by:* modules/prog-lsp.el (detected via LSP mode hooks)
-- *Required:* OPTIONAL (only if using JS/TS development)
-
-** Build Tools
-- *make* - Usually pre-installed
-- *cmake* - For C/C++ projects: =sudo pacman -S cmake=
-- *gcc/g++* - C/C++ compiler: =sudo pacman -S gcc=
-- *gdb* - Debugger: =sudo pacman -S gdb=
-- *Required:* OPTIONAL (per-language basis)
-
-** Graphviz - Diagram Generation
-- *Package:* =graphviz=
-- *Used by:* modules/latex-config.el, modules/org-babel-config.el
-- *Functionality:* Generate diagrams from dot files
-- *Required:* OPTIONAL (only if using graphviz-dot-mode or org-babel dot blocks)
-- *Install:* =sudo pacman -S graphviz=
-
-* Search & File Management
-
-** Ripgrep - Fast Search
-- *Package:* =ripgrep=
-- *Used by:* Implicit in many modern Emacs packages (consult, projectile, etc.)
-- *Functionality:* Extremely fast code search
-- *Required:* HIGHLY RECOMMENDED
-- *Install:* =sudo pacman -S ripgrep=
-- *Note:* Faster than grep, used by many completion frameworks
-
-** fd - Fast Find
-- *Package:* =fd=
-- *Used by:* Implicit in modern completion frameworks
-- *Functionality:* Fast file finding (alternative to GNU find)
-- *Required:* RECOMMENDED
-- *Install:* =sudo pacman -S fd=
-
-** Deadgrep - Search Interface
-- *Package:* Emacs package (uses ripgrep)
-- *Used by:* modules/dirvish-config.el (keybinding: 'G')
-- *Functionality:* Interactive ripgrep interface
-- *Requires:* ripgrep (see above)
-
-* Desktop Integration
-
-** Desktop Notifications
-- *Package:* =dunst= or =notification-daemon=
-- *Used by:* modules/transcription-config.el, potentially others
-- *Functionality:* Desktop notifications via =notify-send=
-- *Required:* OPTIONAL (notifications will fail silently without it)
-- *Install:* =sudo pacman -S dunst= (recommended)
-- *Note:* Requires a notification daemon to be running
-
-** xdg-utils - File Opening
-- *Package:* =xdg-utils=
-- *Provides:* =xdg-open= command
-- *Used by:* modules/external-open.el, modules/dirvish-config.el
-- *Functionality:* Open files with default applications
-- *Required:* RECOMMENDED (fallback exists)
-- *Install:* =sudo pacman -S xdg-utils=
-
-** File Managers (Choose One - Optional)
-- *Thunar* - =thunar=
-- *Nautilus* - =nautilus=
-- *Dolphin* - =dolphin=
-- *PCManFM* - =pcmanfm=
-- *Used by:* modules/dwim-shell-config.el
-- *Functionality:* Open current directory in GUI file manager
-- *Required:* OPTIONAL (choose one)
-- *Install:* =sudo pacman -S thunar= (or your preferred file manager)
-
-* Web Browsers
-
-** Web Browsers (Choose One or More)
-- *Chromium* - =chromium=
-- *Google Chrome* - =google-chrome= (AUR)
-- *Firefox* - =firefox=
-- *Brave* - =brave-bin= (AUR)
-- *Qutebrowser* - =qutebrowser=
-- *Used by:* modules/browser-config.el
-- *Functionality:* Opening web links
-- *Required:* OPTIONAL (EWW built-in as fallback)
-- *Install:* =sudo pacman -S firefox= (or your preferred browser)
-
-* Network Utilities
-
-** Curl - HTTP Client
-- *Package:* =curl=
-- *Used by:* scripts/oai-transcribe (OpenAI API calls), various other scripts
-- *Functionality:* HTTP requests
-- *Required:* Usually pre-installed, but verify
-- *Install:* =sudo pacman -S curl=
-
-* Emacs Build Dependencies (For Building from Source)
-
-If using scripts/build-emacs.sh to build Emacs from source:
-
-#+BEGIN_SRC bash
-sudo pacman -S jansson tree-sitter imagemagick mailutils \
- harfbuzz cairo gnutls libxml2 texinfo gtk3 \
- libgccjit git base-devel
-#+END_SRC
-
-** Required for Native Compilation
-- *libgccjit* - Enables native compilation of elisp files
-- *Package:* =libgccjit=
-- *Note:* Dramatically improves Emacs performance
-
-* Summary by Feature Area
-
-| Feature | Required Packages | Optional Packages |
-|------------------------+--------------------------------+--------------------------------------|
-| *Basic Emacs* | git | ripgrep, fd |
-| *Recording* | ffmpeg, libpulse | - |
-| *Transcription* | curl (for API) | python-openai-whisper |
-| *Grammar* | - | languagetool, aspell |
-| *Email* | mu, isync, msmtp | - |
-| *Media* | yt-dlp, task-spooler | mpv, vlc |
-| *PDF* | poppler | zathura |
-| *LaTeX* | - | texlive-core/most |
-| *Documents* | - | pandoc |
-| *Notifications* | - | dunst |
-| *File Opening* | - | xdg-utils |
-| *C/C++* | - | clang, gdb |
-| *Python* | - | python-lsp-server, flake8 |
-| *Go* | - | gopls, goimports, delve |
-| *Shell* | - | bash-language-server, shellcheck |
-| *Search* | - | ripgrep (highly recommended) |
-| *Desktop Integration* | - | xdg-utils, dunst |
-
-* Installation Notes
-
-** Package Manager Tips
-1. *Python packages* install via =pip install --user= (no sudo needed)
-2. *Go tools* install via =go install= (no system package manager)
-3. *Node.js tools* install via =npm install -g= (requires =nodejs= package)
-4. *AUR packages* require an AUR helper like =yay= or =paru=
-
-** Special Considerations
-- *Tree-sitter grammars* are downloaded automatically by treesit-auto (not in .localrepo)
-- *Native compilation* requires libgccjit if building Emacs from source
-- *Local package repository* (.localrepo) contains Emacs packages, not system dependencies
-
-** Testing Installations
-After installing dependencies, test key functionality:
-#+BEGIN_SRC bash
-# Test recording
-emacs --eval "(require 'video-audio-recording)" --eval "(cj/recording-check-ffmpeg)"
-
-# Test grammar checker
-~/.emacs.d/scripts/languagetool-flycheck ~/.emacs.d/tests/fixtures/grammar-errors-basic.txt
-
-# Test transcription wrapper (if using local whisper)
-~/.emacs.d/scripts/local-whisper /path/to/audio.m4a
-
-# Run Emacs test suite
-cd ~/.emacs.d && make test
-#+END_SRC
-
-* Next Steps
-
-** TODO Compare with archsetup script
-- [ ] Analyze archsetup script to see which dependencies are already installed
-- [ ] Identify gaps where Emacs dependencies are missing
-- [ ] Ensure archsetup script installs all required dependencies
-- [ ] Document any Emacs-specific configuration needed beyond package installation
-
-** TODO Create dependency verification script
-- [ ] Script to check which dependencies are installed
-- [ ] Report missing optional dependencies by feature area
-- [ ] Provide installation commands for missing dependencies
-
-** TODO Add to documentation
-- [ ] Link from main README
-- [ ] Add to setup instructions
-- [ ] Include in archsetup script comments