Personal dotfiles managed with GNU Stow.
dotfiles/
├── .stowrc # Stow target config (`~`)
├── claude/
│ └── .claude/ # Claude Code agent suite (agents, skills, CLAUDE.md, settings)
├── ghostty/
│ └── .config/ghostty/ # Ghostty terminal config
├── neovim/
│ └── .config/nvim/ # LazyVim-based Neovim config
├── opencode/
│ └── .config/opencode/ # OpenCode agents, skills, commands, and config
├── starship/
│ └── .config/starship.toml # Starship prompt config
└── tmux/
└── .tmux.conf # tmux config
- GNU Stow
- Claude Code (for the
claudepackage) - Starship (for the
starshippackage) - OpenCode (for the
opencodepackage) - Neovim (for the
neovimpackage) - Ghostty (for the
ghosttypackage) - tmux (for the
tmuxpackage)
From the repo root:
stow claude ghostty neovim opencode starship tmuxBecause .stowrc sets --target=~, this will symlink:
claude/.claude/*→~/.claude/*ghostty/.config/ghostty/*→~/.config/ghostty/*neovim/.config/nvim/*→~/.config/nvim/*opencode/.config/opencode/*→~/.config/opencode/*starship/.config/starship.toml→~/.config/starship.tomltmux/.tmux.conf→~/.tmux.conf
stow --restow <package>Examples:
stow --restow claude
stow --restow ghostty
stow --restow neovim
stow --restow opencode
stow --restow starship
stow --restow tmuxUsually no restow is needed if the file is already symlinked. Reload the affected app instead.
The Claude Code config (~/.claude/) — a custom suite of software-engineering agents, skills, and slash commands:
agents/— specialist subagent definitions (code review, security, testing, debugging, frontend/backend, etc.)skills/— reference skills plus user-invocable workflow skills (the/-commands)CLAUDE.md— suite overview and tech-lead operating instructionssettings.json— Claude Code runtime settings
- terminal font/theme/transparency settings
- minimal LazyVim-based Neovim bootstrap/config
The OpenCode config currently includes:
agent/— primary and specialist agent definitionscommands/— slash command routing promptsskills/— reusable skill/reference materialthemes/— custom UI themesAGENTS.md— suite overview and usage guidanceopencode.json— runtime config and permissionstui.json— UI preferences
- minimal prompt config showing directory + git info
- cloud-profile modules disabled by default (
aws,gcloud,azure)
- terminal multiplexer config (
~/.tmux.conf)
- This repo is optimized for my own workflow, so documentation is intentionally practical rather than exhaustive.
- Add/remove/rename files in a Stow package usually means running
stow --restow <package>. - Editing an already-symlinked file usually just requires reloading the relevant app.