Each tool has its own directory at repo root — a stow package. stow */ from ~/.dotfiles deploys all configs to ~ by default.
Shell integrations live in bash/.config/bashrc.d/##-<tool>.sh. CLI tools are managed via mise/.config/mise/config.toml, while bootstrap.sh installs rootless prerequisites like mise itself.
bash ~/.dotfiles/bootstrap.sh # install tools (idempotent)
cd ~/.dotfiles && stow */ # deploy configs
source ~/.bashrc- Create
<tool>/with stow-compatible structure (<tool>/.config/...or<tool>/.<tool>rc) - If shell integration needed: add
bash/.config/bashrc.d/##-<tool>.sh - If managed by mise: add to
mise/.config/mise/config.toml - If the tool still needs custom bootstrap logic: add it to
bootstrap.shwithout requiring root
- Delete
<tool>/ - Delete
bash/.config/bashrc.d/##-<tool>.sh(if exists) - Remove from
config.tomlorbootstrap.sh
00-PATH/environment05-tool managers50-prompt/init60-70tool integrations
./test.sh # build Docker image
./test.sh -i # interactive shell