A clean, minimal Emacs configuration focused on enhanced completion, AI assistance, and developer productivity.
- Vertico + Marginalia + Orderless - Modern minibuffer completion
- Consult - Enhanced commands with live preview (search, buffers, files)
- Embark - Context actions on completion candidates
- Corfu - In-buffer completion with 0.2s auto-completion delay
- Treesitter - Advanced syntax highlighting via
treesit-auto
- LSP - Language server support via
eglot
for Python, JS, TS, Go, Rust - Magit - Full Git interface with
C-x g
- Markdown - Enhanced markdown editing with code block highlighting
- GPTel - Multi-backend AI support (Gemini default, DeepSeek available)
- Claude Code - Full CLI integration with project awareness
- GitHub Reports - Custom package for automated GitHub activity reports
- Denote - Structured note-taking system with linking and backlinks
- Org Mode - Enhanced with pretty entities, inline images, and clean startup
- Stocks - Real-time stock market data with auto-refresh
- Auto theme switching (light/dark based on macOS system appearance, checks every 60 seconds)
- JSON auto-formatting on save (files < 50KB only)
- Environment variable importing for API keys (OPENAI, GEMINI, DEEPSEEK)
- Organized backup system in
backups/
subdirectories - Auto-revert for external file changes
- Save-place mode for cursor position memory
- Emacs server auto-start for external connections
C-s
- Enhanced search (consult-line)C-x b
- Enhanced buffer switching (consult-buffer)C-x C-r
- Recent files (consult-recent-file)C-x g
- Git status (magit)
C-.
- Context menu (embark-act)C-;
- Smart context actions (embark-dwim)
C-c c
- Claude Code commands (full transient menu)C-c a d
- Switch to DeepSeek AI backendC-c a g
- Switch to Gemini AI backendC-c a c
- Send to current AI backendC-c a m
- GPTel menuC-c g d
- GitHub daily reportC-c g w
- GitHub weekly reportC-c g r
- GitHub repository summaryC-c g i
- GitHub contribution insights
C-c n n
- Create new noteC-c n i
- Insert link to noteC-c n b
- Show backlinks
F5
- Toggle light/dark theme manuallyC-s-f
- Toggle fullscreenC-c s
- Stock market display
- Clone or copy this configuration to
~/.emacs.d/
- Start Emacs - packages will auto-install on first run
- Set up API keys in your shell environment:
export GEMINI_API_KEY="your-gemini-key" export DEEPSEEK_API_KEY="your-deepseek-key" export OPENAI_API_KEY="your-openai-key" # optional
- Install language servers for LSP support as needed
- Ensure
~/workspaces/org/
directory exists for note-taking
~/.emacs.d/
├── init.el # Main configuration
├── early-init.el # Early UI and backup configuration
├── custom.el # Auto-generated customizations
├── CLAUDE.md # AI assistant instructions
├── README.md # This file
├── lisp/ # Custom packages
│ ├── github-reports.el # GitHub activity reports
│ └── stocks.el # Stock market integration
├── backups/ # Backup directories (auto-created)
│ ├── backups/ # File backups
│ └── auto-saves/ # Auto-save files
├── elpa/ # Package installation directory
└── eshell/ # Eshell configuration (auto-created)
Install language servers for full LSP support:
# Python
pip install python-lsp-server
# JavaScript/TypeScript
npm install -g typescript-language-server typescript
# Go
go install golang.org/x/tools/gopls@latest
# Rust
rustup component add rust-analyzer
The configuration expects notes in ~/workspaces/org/
for Denote integration. Create this directory or adjust the path in init.el
.
The custom stocks package provides:
- Real-time Data: Yahoo Finance API integration
- Default Symbols: S&P 500, Dow Jones, NASDAQ, Russell 2000, VIX
- Auto-refresh: Configurable interval (default 5 seconds)
- Interactive Management: Add/remove symbols dynamically
- Visual Feedback: Color-coded gains/losses
g
- Refresh dataa
- Add new symbold
- Remove symbolt
- Toggle auto-refreshq
- Quit window
The custom GitHub Reports package provides automated reporting:
- Daily Reports: Activity summary for current day
- Weekly Reports: Comprehensive weekly analysis
- Repository Summary: Current repo health and status
- Contribution Insights: Development patterns and productivity metrics
All reports are generated via Claude Code integration using the gh
CLI.
- Theme Switching: Modify
auto-switch-theme
function ininit.el:211-225
- Note Keywords: Update
denote-known-keywords
ininit.el:269
- LSP Languages: Add to
eglot
hook ininit.el:124
- AI Backends: Configure additional providers in GPTel section (
init.el:154-187
) - Stock Symbols: Modify
stock-default-symbols
inlisp/stocks.el:19
- Backup Locations: Adjust paths in
early-init.el:17-25
Use the use-package
macro following the existing patterns in init.el
. All packages with :ensure t
will auto-install.
This configuration emphasizes productivity through intelligent completion, seamless AI integration, and modern development tools while maintaining Emacs' flexibility and power.