macOS dotfiles managed with chezmoi.
- 🐚 Shell: Fish
- ⭐ Prompt: Starship with Jujutsu integration
- 📝 Editor: Neovim + LazyVim
- 🖥️ Terminal: Ghostty
- 🔄 Version Control: Git + Jujutsu
- 🎨 Theme: Tokyo Night
- 🔍 Navigation: fzf, zoxide, atuin
- 🛠️ Quality: Trunk, pre-commit hooks
- 📦 Packages: Brewfile
- macOS
# Clone and apply dotfiles git clone https://github.com/HotThoughts/dotfiles.git ~/.local/share/chezmoi cd ~/.local/share/chezmoi ./install.shThe script installs chezmoi and runs chezmoi init --apply, which triggers run_once_setup.sh.tmpl to install Xcode tools, Homebrew, packages from Brewfile, and Fish plugins.
- Fish - Interactive shell
- Starship - Cross-shell prompt
- Atuin - Shell history
- Zoxide - Directory jumper
- Fisher - Fish plugin manager
- eza - Modern ls
- bat - Cat with syntax highlighting
- ripgrep - Fast grep
- fd - Fast find
- fzf - Fuzzy finder
- delta - Better git diffs
- lazygit / lazyjj - TUI for Git/Jujutsu
- gh - GitHub CLI
- Neovim - Text editor
- tmux - Terminal multiplexer
- pyenv + poetry - Python management
- nvm - Node version manager
- OrbStack - Docker for macOS
- kubectl + kubie - K8s CLI and context switcher
- helm - K8s package manager
- k9s - K8s terminal UI
- Trunk - Unified linter/formatter
- pre-commit - Git pre-commit hooks
- gitleaks / trufflehog - Secret detection
- hadolint - Dockerfile linter
- actionlint - GitHub Actions linter
- AeroSpace - i3-like tiling WM
- Karabiner-Elements - Keyboard customization
- Raycast - Application launcher
# See what changes would be applied chezmoi diff # Apply changes from source directory to home directory chezmoi apply # Edit a file (opens in $EDITOR, then applies on save) chezmoi edit ~/.config/fish/config.fish # Add a new file to chezmoi chezmoi add ~/.config/newapp/config.toml # Pull and apply changes from git chezmoi update # Check configuration health chezmoi doctor- Edit files in
~/.local/share/chezmoi/ chezmoi diffto previewchezmoi applyto sync- Commit with gitmoji
k→kubectlkx→kubie ctx(switch Kubernetes context)kns→kubie ns(switch namespace)ls→eza --iconsfu→fisher update
Shell: Starship prompt with Jujutsu integration
Editor: LazyVim configuration
Theme: Tokyo Night applied across VS Code, Neovim, Ghostty, Fish, and Obsidian.
trunk check # Run linters trunk fmt # Format files trunk upgrade # Update trunkPre-commit hooks check shell scripts, Python, Markdown, secrets, YAML/JSON/TOML, and more.
jj mine- List bookmarksjj tug- Move bookmarks upjj rebase-all- Rebase onto trunkwip()/private()- Revsets excluded from git push
- macOS
- ~2GB disk space
Personal dotfiles. Use as inspiration.

