Dotfiles Management Skill
Use this skill when modifying system configurations, shell profiles, editor settings, or the installer scripts within the dotfiles repository.
Repository Location
The dotfiles repository is stored at:
/Users/rodydavis/dev/git/dotfiles
Rules
- When updating or modifying configuration files (like
.zshrc,.gitconfig,.gitignore_global, or Zed settings), always make changes inside the dotfiles repository rather than directly editing files in the home directory (~). - After modifying configurations, run the
./install.shscript to link/sync them. - Always run the installer in dry-run mode (
./install.sh --dry-runor-d) first to verify changes.
Bootstrapping & Installation Guidelines
1. SSH & Git Clones
- When cloning private repositories in the background, check if the host is in
~/.ssh/known_hostsfirst. Usessh-keyscanto populate it before runninggit cloneto prevent the task from being suspended on interactive host key prompts.
2. Homebrew Bundle & Tap Trust
- Tap Trust: Modern Homebrew requires explicit tap trust approval. When running
brew bundlein unattended background scripts, prependHOMEBREW_NO_REQUIRE_TAP_TRUST=1to bypass interactive prompts. - Sudo Casks: Avoid including casks that require administrative (
sudo) privileges (e.g.basictex) in unattended installations. Comment them out in theBrewfileand instruct the user to install them manually in their terminal. - Deprecated/Private Taps: Keep the
Brewfileclean of deprecated taps (likehomebrew/cask-fonts) or private/unauthorized taps (likerobotsandpencils/made) to avoid failing the entire bundle installation.
3. Node.js/NPM Runtime
- Installing
nvmvia Homebrew does not install a Node runtime. Before executing global NPM package installations, initializenvmand runnvm install --ltsto verify a node/npm binary is active.
4. Java & Android SDK Configuration
- Homebrew's
openjdkis keg-only. To ensure Java is detected by Android CLI and Flutter tools, configure.zshrcto export/opt/homebrew/opt/openjdk/binin thePATHand setJAVA_HOMEto the Homebrew JDK path.