Personal dotfiles managed via install.sh. Cross-platform (macOS via Homebrew, Linux via apt).
install.sh— frontmatter-driven installer: runsscripts/phases.shbootstrappers, then applies allmaps:viascripts/link.sh. Flags:--only <tool[,tool…]>,--skip <tool[,tool…]>,--link-only,--force,--dry-run.config/— everything mappable: tool configs, plus the shell files (zshrc,bashrc,profile) and repo-sourcedaliases.sh/exports.sh/functions.sh. Every dir has aREADME.mdwhosemaps:frontmatter defines its mappings — schema:config/README.md.scripts/— bootstrappers (setup.d/<tool>.sh, orchestrated viaphases.sh),lib.sh(shared parser/linker),link.sh,util.sh(colors + one-line status helpers shared by shell rc, installer, and tests), plus hooks (e.g.php.shis a mise postinstall hook).- Output: one status line per tool —
installing (brew|apt): <tool>... done|warn|fail(colored on a TTY, plain when piped); raw installer output goes toscripts/logs/setup-{tool}.txt, and a failed tool printsSee <log> for more info. - Repo-only, never mapped:
.editorconfig,.gitignore,.gitmodules,.env.example. .env— contains real API keys. Do not commit or expose. In gitignore. Uses.env.exampleas template.
Mappings live in each config's README.md frontmatter; schema: config/README.md.
| Config | Target |
|---|---|
config/zshrc, config/bashrc, config/profile |
~/ |
config/agents/ |
~/.agents/ + Zed AGENTS.md; skills → kilo, opencode, ~/.agents/skills |
config/gemini/ |
~/.gemini/ (antigravity-cli + MCP) |
config/ghostty/ |
~/Library/... (macOS) / ~/.config/ghostty/config (Linux) |
config/git/ |
~/.gitconfig (copy: true) |
config/kilocode/ |
~/.config/kilo/kilo.jsonc |
config/lazygit/ |
~/.config/lazygit/config.yml |
config/mise/ |
~/.config/mise/config.toml |
config/opencode/ |
~/.config/opencode/opencode.jsonc |
config/php/ |
— (mise postinstall hook) |
config/starship/ |
~/.config/starship.toml |
config/tmux/ |
~/.config/tmux/tmux.conf |
config/vim/ |
~/.vimrc |
config/wakatime/ |
~/.wakatime.cfg (local private.cfg) |
config/zed/ |
~/.config/zed/ |