Dotfiles: Difference between revisions
Comprehensive dotfiles documentation with AI email system and modern CLI tools |
Fix formatting and improve readability |
||
Line 1: | Line 1: | ||
= EJ Fox Dotfiles Configuration = | = 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 | |||
--- | |||
[[Category:Configuration]] | |||
[[Category:Terminal]] | |||
[[Category:Productivity]] |
Revision as of 01:06, 15 September 2025
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
---