Personal dotfiles including various rc files in $HOME.
.bashrc patterns that have stood the test of time across 5+ machines:
- Githome — versioning dotfiles via
git init --bare $HOME/.githome - Function composition —
codex-*wrappers built fromcdx-e-*argument generators export_append/export_prepend— idempotent colon-separated path manipulation- Echo/debug patterns —
local -; set -x, argument arrays with inline comments, log capture
Dual .git directories for clean separation of local (private) and GitHub (public) configs:
.git → .git-privateby default (machine-specific email, local remotes).git → .git-publicwhen pushing to GitHub (public email, GitHub remotes)- Private notes with keys/tokens live in
.git-privatecommits, never reach GitHub - This very
dotfiles/repo uses this pattern
Nested git repos for contributing to OSS while keeping private notes versioned:
- Private parent repo for notes (
README.LJ,LEARNINGS.md,CLAUDE.md) - Bare public child repo for code (
github/.git— bare clone of fork) - Worktrees for branch isolation (
worktrees/feature-a,worktrees/upstream-main) - See also:
~/.claude/skills/git-bare-repo-worktrees.mdfor reusable skill template
Chrome window manager via Hammerspoon:
Cmd-1…9— focus Nth Chrome window (9 = last); scoped to Chrome onlyCmd-0— interactive chooser with reordering, save/reset, ⌥↑/⌥↓ to moveCmd-Alt-Ctrl-H— reload config- Window title cleanup, AXTitle support, persistent custom ordering
- Installed via githome + symlink pattern (
~/.hammerspoon → .hammerspoon-macbook2)