Dotfiles
EJ Fox Dotfiles Configuration
Personal terminal environment optimized for minimalist productivity and AI-enhanced workflows.
Overview
A comprehensive dotfiles configuration emphasizing geometric aesthetics, functional minimalism, and modern CLI tools. Built around the philosophy of distraction-free computing with intelligent automation.
Core Philosophy
- Geometric symbols throughout interface (◆ ◇ ○ ▪ ─)
- Theme-agnostic design (adapts to light/dark mode automatically)
- Zen mode for deep focus across all applications
- Modern CLI tools replacing legacy Unix commands
- AI integration for context-aware assistance
Shell Configuration
ZSH (.zshrc)
Primary shell configuration with modern enhancements:
Key Features:
- Oh My Zsh with Powerlevel10k prompt
- Ruby environment via rbenv (replaced RVM)
- Email workflow integration
- Modern CLI aliases (lsd, bat, dust, duf, btop)
- Lazy-loaded tools (conda, zoxide, atuin) for performance
- Smart git commit with LLM integration
- UV Python package management
Notable Aliases:
alias l='lsd -lah' # Enhanced ls with icons alias c='clear && refresh' # Clear and refresh alias m='neomutt' # Email client alias ei='email-insights' # AI email analysis alias commit='...' # LLM-powered git commits
Startup Script (.startup.sh)
AI-powered Message of the Day system providing contextual information:
Components:
- Tasks - Integration with Things CLI
- Calendar - icalBuddy for today's events
- Recent Work - Git repositories from ~/code
- Recent Notes - Obsidian markdown files
- Email Summary - AI-filtered unread messages
- AI Insights - Personalized productivity suggestions (cached 3hr)
Intelligence Features:
- Filters out financial spam automatically
- Categorizes emails (🤖 dev, ⚠️ urgent, 📅 calendar)
- Skips in tmux sessions unless forced
- Background email sync
- Zen mode aware
Zen Mode (.zen-mode.sh)
System-wide minimal interface toggle:
- Hides menu bars and dock
- Disables notifications
- Creates `/tmp/.zen-mode-state` flag
- Integrates with tmux, nvim, and startup script
Terminal & Multiplexer
Tmux (.tmux.conf)
Minimalist terminal multiplexer configuration:
Visual Design:
- No colors (theme-agnostic)
- Geometric pane count indicators (⚌ ☰ ⚍ ⚏ ☷)
- Centered window list
- Subtle arrow indicators for active pane
- Prefix indicator: ◼ (when active)
Key Bindings:
Prefix: C-a Windows: Alt+h/l (prev/next) Panes: hjkl (vim-style) Resize: HJKL (capital letters) Split: - (horizontal), _ (vertical)
Email System
Neomutt + mbsync
Complete email workflow with AI enhancement:
Setup:
- mbsync for Gmail IMAP sync
- Neomutt as terminal email client
- Keychain integration for secure auth
- Background auto-sync
AI Features:
- Email subject filtering and cleanup
- Automatic categorization
- Spam/financial email removal
- Inbox insights and priority analysis
- Per-email AI summarization (Press 'S')
Workflow:
m # Open neomutt ei # AI inbox analysis 1-4 # Quick filters (unread, replied, sent, flagged) / # Search gg/G # First/last email S # AI summarize current email
Development Environment
Neovim
LazyVim configuration with minimal aesthetics:
- Auto dark/light mode switching
- Zen mode integration
- Minimal statusline
- Hardtime plugin for vim skill building
Git Integration
- Smart commit messages via LLM
- Git status in sketchybar
- LFS support for large files
- Conventional commit formatting
Modern CLI Tools
Replacements for traditional Unix commands:
- lsd → ls (with icons and colors)
- bat → cat (syntax highlighting)
- dust → du (disk usage visualization)
- duf → df (disk free with graphs)
- btop → top (modern system monitor)
- zoxide → cd (smart directory jumping)
- atuin → history (encrypted shell history)
Application Configurations
Ghostty Terminal
Modern terminal emulator settings:
- Opacity and blur effects
- Font: SF Mono
- Theme synchronization
- Performance optimizations
Sketchybar
macOS menu bar replacement:
- Git status indicators
- Battery with percentage
- Productivity metrics
- Claude usage tracking
- Minimal aesthetic matching tmux
File Management
- Yazi - Terminal file manager without color distractions
- Btop - System monitor with transparent background
Automation & Intelligence
LLM Integration
AI enhancement throughout the system:
- Startup insights with CIPHER persona
- Email categorization and summarization
- Commit message generation
- Context-aware suggestions
Background Processes
- Email sync every 60 seconds
- Git status updates
- Theme synchronization
- Cache management (3-hour cycles)
Installation & Sync
Repository: https://github.com/ejfox/dotfiles
Setup Process:
git clone https://github.com/ejfox/dotfiles.git ~/.dotfiles cd ~/.dotfiles ./sync-dotfiles.sh
Dependencies:
- Oh My Zsh + Powerlevel10k
- Homebrew packages (neomutt, mbsync, llm, etc.)
- LLM CLI tool with OpenAI API
- Things app for task management
- Obsidian for note-taking
Security Notes
- No secrets committed to repository
- Passwords stored in macOS Keychain
- App-specific passwords for Gmail
- Secure email authentication via keychain lookup commands
Recent Updates
Latest improvements include:
- Email system with AI filtering
- Rbenv migration from RVM
- Enhanced startup script with email integration
- Monochrome neomutt configuration
- Background sync automation
- Improved repo detection in startup
---