Skip to content

Latest commit

 

History

History
77 lines (63 loc) · 2.6 KB

File metadata and controls

77 lines (63 loc) · 2.6 KB

Contributing & Making Changes

Repository Structure

dotfiles/
├── .chezmoi.toml.tmpl                    Config template (prompts on init)
├── .chezmoiexternal.toml                 External deps
├── .chezmoiignore                        Platform-specific exclusions
│
├── dot_zshrc.tmpl                        ~/.zshrc (Go template)
├── dot_zsh_plugins.txt                   ~/.zsh_plugins.txt
├── dot_zprofile.tmpl                     ~/.zprofile (Go template)
├── dot_p10k.zsh                          ~/.p10k.zsh (generated by p10k configure)
├── dot_gitconfig.tmpl                    ~/.gitconfig (Go template)
├── dot_vimrc.tmpl                        ~/.vimrc (Go template)
│
├── private_dot_ssh/
│   └── config                            ~/.ssh/config (0600 permissions)
│
├── private_dot_config/
│   └── private_opencode/                 ~/.config/opencode/
│       ├── AGENTS.md                     AI agent rules
│       ├── opencode.json                 Agent definitions + model routing
│       └── package.json                  Plugin SDK dependency
│
├── run_onchange_install-packages.sh.tmpl Runs brew/pacman when Brewfile changes
├── run_onchange_setup-opencode.sh.tmpl   Installs GSD and plugin dependencies
├── run_onchange_antidote-bundle.sh.tmpl  Regenerates antidote static plugins
│
├── Brewfile                              macOS Homebrew manifest
├── AGENTS.md                             AI agent instructions for this repo
└── README.md

Making Changes

Adding a New Dotfile

# Add an existing file
chezmoi add ~/.some-config

# Add as a template (for cross-platform content)
chezmoi add --template ~/.some-config

Adding a New Alias or Function

  1. Run chezmoi edit ~/.zshrc to open dot_zshrc.tmpl
  2. Add your alias in the appropriate section (under the matching # === banner)
  3. If it's OS-specific, wrap it in a Go template conditional
  4. Run chezmoi apply to deploy
  5. Commit and push

Adding a New Homebrew Package (macOS)

# Install the package
brew install some-package

# Regenerate the Brewfile
brew bundle dump --file=$(chezmoi source-path)/Brewfile --force

# Commit
cd $(chezmoi source-path)
git add Brewfile && git commit -m "chore: add some-package to brewfile"
git push

Adding a New Zsh Plugin

  1. Edit dot_zsh_plugins.txt (in the source repo or via chezmoi edit ~/.zsh_plugins.txt)
  2. Run chezmoi apply — this triggers run_onchange_antidote-bundle.sh automatically
  3. Open a new terminal