Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dotfiles

My personal config, symlinked into $HOME.

Layout

home/            -> files linked into ~/        (e.g. home/.zshrc -> ~/.zshrc)
config/          -> files linked into ~/.config/ (e.g. config/git/ignore -> ~/.config/git/ignore)
os/<platform>/   -> OS-specific overlay, layered on top of the shared configs
  os/macos/...   -> linked when uname is Darwin
  os/linux/...   -> linked when uname is Linux
setup.sh         idempotent symlink installer

OS-specific configs

setup.sh detects the platform (uname) and, after linking the shared home/ and config/ trees, layers os/<platform>/{home,config} on top. Overlay files link last, so they win for same-named paths.

This is how 1Password commit signing stays macOS-only: the shared home/.gitconfig ends with [include] path = ~/.config/git/signing.conf, and the overlay supplies that file —

  • os/macos/config/git/signing.conf — SSH signing via the 1Password agent
  • os/linux/config/git/signing.conf — no 1Password; signing disabled

On a Linux box, ./setup.sh links the Linux fragment instead, so nothing references 1Password.

Install

git clone <repo-url> ~/Source/dots
cd ~/Source/dots
./setup.sh --dry-run   # preview
./setup.sh             # link

Existing real files are moved to ~/.dotfiles-backup/<timestamp>/ before linking. Re-running only touches things that are out of date.

Add a new dotfile

  1. Move it into the repo, mirroring its path under $HOME:
    • ~/.foorc -> home/.foorc
    • ~/.config/foo/bar -> config/foo/bar
  2. Run ./setup.sh to link it.

macOS bootstrap

  • os/macos/bootstrap.sh (run by setup.sh) installs Homebrew if missing, then ensures claude and codex are installed (via their install scripts).

Tracked

  • home/.zshrc, home/.zprofile, home/.zshenv
  • home/.gitconfig
  • home/.claude/settings.json
  • home/.codex/config.toml
  • config/git/ignore
  • skills/ — universal skills linked into both ~/.claude/skills and ~/.codex/skills

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages