Personal dotfiles managed with chezmoi.
sh -c "$(curl -fsLS get.chezmoi.io/lb)" -- init --apply git@github.com:scottwater/dotfiles.gitNote the lb - This will ensure chezmoi is installed in $HOME/.local/bin
Next steps on macOS (local machine only):
chezmoi apply
brew bundleNext steps on Linux (SSH-only):
chezmoi applyReminder for Scott: Dracula Pro themes and TPM (tmux plugin manager) are pulled via .chezmoiexternal.toml
The install scripts run automatically via chezmoi apply:
run_after_install-core.sh- Cross-platform CLI installs via curl (mise, atuin, uv, amp)run_after_install-linux.sh- Ubuntu apt installs for CLI tools only
- zsh - Shell with syntax highlighting and autosuggestions
- Starship - Cross-shell prompt
- Atuin - Shell history sync and search
- Ghostty - Terminal emulator (Dracula Pro theme)
- tmux - Terminal multiplexer with Dracula Pro (Vampire Bat) theme
- mise - Runtime version manager (Ruby, Node, etc.)
- Neovim - Editor (LazyVim configuration)
- Zed - Code editor (Dracula Pro theme)
- delta - Git diff viewer (Vampire Bat theme)
- bat - Syntax-highlighted cat replacement (Vampire Bat theme)
- lazygit - Terminal UI for git
- OpenCode - AI coding assistant with custom agents, commands, and themes
- Amp - AI coding assistant with custom commands and tools
- Claude Code - AI coding assistant with custom skills
- Bundler - Ruby dependency management
- RuboCop - Ruby linter with custom git integration scripts
t- Unified test runner for RSpec/Rails tests
| Source | Destination | Description |
|---|---|---|
dot_zshrc |
~/.zshrc |
Zsh configuration with aliases and functions |
dot_zprofile |
~/.zprofile |
Zsh profile (login shell) |
dot_gitconfig |
~/.gitconfig |
Git configuration with aliases |
dot_gitignore_global |
~/.gitignore_global |
Global git ignore patterns |
dot_gemrc |
~/.gemrc |
Ruby gem configuration |
dot_tmux.conf |
~/.tmux.conf |
Tmux configuration with Vampire Bat theme |
zsh/ |
~/zsh/ |
Zsh plugins and helpers |
| Source | Destination | Description |
|---|---|---|
executable_t |
~/.local/bin/t |
Unified test runner (RSpec/Rails) |
executable_spec_metadata |
~/.local/bin/spec_metadata |
Spec metadata helper |
executable_rubocop-git |
~/.local/bin/rubocop-git |
RuboCop git integration |
executable_configure_age |
~/.local/bin/configure_age |
Install age and copy age.txt from 1Password Dev vault |
| Source | Destination | Description |
|---|---|---|
starship.toml |
~/.config/starship.toml |
Starship prompt config |
ghostty/config |
~/.config/ghostty/config |
Ghostty terminal config |
atuin/config.toml |
~/.config/atuin/config.toml |
Atuin history config |
delta/themes.gitconfig |
~/.config/delta/themes.gitconfig |
Delta themes |
lazygit/config.yml |
~/.config/lazygit/config.yml |
Lazygit config |
nvim/ |
~/.config/nvim/ |
Neovim/LazyVim configuration |
zed/ |
~/.config/zed/ |
Zed editor settings and themes |
bat/ |
~/.config/bat/ |
Bat config and Vampire Bat theme |
opencode/ |
~/.config/opencode/ |
OpenCode AI assistant config |
amp/ |
~/.config/amp/ |
Amp AI assistant config |
skills/ |
~/.config/skills/ |
Shared AI skills (symlinked) |
| Source | Destination | Description |
|---|---|---|
settings.json |
~/.claude/settings.json |
Claude Code settings |
ruby/auto_cop |
~/.claude/ruby/auto_cop |
Auto-RuboCop hook |
skills |
~/.claude/skills |
Symlink to shared skills |
Custom skills shared across AI assistants:
- gemini-imagegen - Image generation via Gemini API (Nano Banana Pro)
- committing-with-guidelines - Git commit message standards
# Apply dotfiles
chezmoi apply
# Edit a managed file
chezmoi edit ~/.zshrc
# Add a new file to management
chezmoi add ~/.config/some/file
# See what would change
chezmoi diff
# Pull and apply updates
chezmoi update