Skip to content

kevintraver/dotfiles

Repository files navigation

Kevin's Dotfiles

Personal dotfiles repository containing configurations for development tools, window managers, terminal emulators, and various CLI utilities.

Overview

This repository uses Dotter for managing symlinked configurations across macOS.

Quick Start

# Deploy all configurations
dotter deploy default

# Preview what would be deployed (dry run)
dotter deploy --dry-run

Configuration Categories

Development Tools

  • nvim/ - Neovim configuration with LazyVim framework
  • cursor/ - Cursor editor settings and keybindings
  • git/ - Git global configuration
  • lazygit/ - Git TUI configuration
  • prettier/ - Prettier formatting rules

Terminal & Shell

  • zsh/ - Zsh configuration with modular setup
  • tmux/ - Tmux terminal multiplexer configuration
  • ghostty/ - Ghostty terminal configuration

macOS System Management

  • yabai/ - Tiling window manager configuration
  • skhd/ - Simple hotkey daemon for keyboard shortcuts
  • hammerspoon/ - Lua-based automation and window management
  • karabiner/ - Keyboard customization and key remapping
  • raycast/ - Raycast launcher and productivity tool configuration

CLI Utilities & Productivity

  • homebrew/Brewfile - Package management with extensive tool collection
  • espanso/ - Text expansion tool configuration
  • ripgrep/ - Search tool configuration
  • mitmproxy/ - HTTP/HTTPS proxy tool keybindings

Neovim Configuration

The Neovim setup includes 100+ carefully curated plugins organized by category. See nvim/README.md for complete documentation.

Common Commands

Dotter Management

# Deploy all configurations
dotter deploy default

# Preview what would be deployed (dry run)
dotter deploy --dry-run

# Undeploy configurations
dotter undeploy

Package Management

# Install/update all Homebrew packages
brew bundle --file=homebrew/Brewfile

# Install missing packages only
brew bundle check --file=homebrew/Brewfile || brew bundle --file=homebrew/Brewfile

Automatic Package Updates

A launchd job runs update-packages every 4 hours to update brew, npm, pnpm, and bun. After deploying with dotter, load the job:

launchctl load ~/Library/LaunchAgents/com.kevin.update-packages.plist

Manual update: ua (alias) or update-packages

Logs: ~/.local/log/update-packages.log

Neovim Configuration

# Sync plugins after config changes
nvim --headless "+Lazy sync" +qa

# Check health for missing dependencies
nvim --headless "+checkhealth" +qa

Development

See AGENTS.md for detailed guidance on working with this repository.

License

MIT

About

dotfiles

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •