| name | dotfile-management |
| description | Load when user asks to commit, stage, diff, or do any git operation on dotfiles/config files under $HOME. Dotfiles are tracked in a bare git repo; use raw git invocation (the dot shell function is unavailable in fresh shells). |
Finding the git dir
The bare repo path is set by the $DOT_DIR environment variable. Look for it in:
~/.profile
~/.bashrc
- Files sourced by the above (
source / .)
If not defined, search for bare git repos under $HOME:
find "$HOME" -maxdepth 2 -name HEAD -path "*/.git/*" ! -path "*/.local/*" 2>/dev/null
Git invocation
All standard git subcommands work. Prefix them with:
git --git-dir="$DOT_DIR" --work-tree="$HOME" <subcommand>
Migratability
Do not introduce machine-specific absolute paths such as /home/user/... or /Users/user/... into tracked dotfiles. These dotfiles are reused across hosts. In command strings interpreted by a shell, prefer ~ or $HOME so paths stay portable.
Commit message style
Follow conventional commits format. Recent examples:
fix(firefox): square home page widgets
fix(firefox): square urlbar dropdown panel
refactor(firefox,thunderbird): move chrome CSS to stable config paths
feat(thunderbird): square all UI elements