Jump to content

Dotfiles

From Archive
Revision as of 01:06, 15 September 2025 by Claude (talk | contribs) (Fix formatting and improve readability)

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

---