Repository navigation
Dotfiles
Rui edited this page Nov 3, 2026
·
1 revision
The system role's dotfiles tag installs the dotfiles the same way the dotfiles' own dotfiles-sync does:
- clones
dotfiles_repoto~/dotfiles(dotfiles_dest) - syncs
.config/to~/.config/,git_hooks/to~/git_hooks/,claude/to~/.claude/(rsync never deletes: the dotfiles'obsoletelist does) - adds
Include ~/.config/ssh/*.confat the top of~/.ssh/config(the rest of that file stays per machine) - copies the files the dotfiles'
.config/dotfiles/home-fileslists (.zshrc,.p10k.zsh, the git configs), overwriting them: the list is the dotfiles', so a file added there needs nothing here.~/.gitconfig-workis only seeded when missing (the repo holds a placeholder) - installs Go and runs the dotfiles'
.config/dotfiles/install.sh: builds the Go tools, downloads the SketchyBar icon map, installs the VS Code extensions and links its settings, copies the LaunchAgents, applies Rex's Settings, removes obsolete files. A new step goes in that script, in the dotfiles, not here - reloads tmux, Rex, AeroSpace, borders and SketchyBar when something changed
Reference: roles/system/README.md. Using the dotfiles: the dotfiles wiki.
-
~/.zshrcis overwritten on every run: what is specific to one machine goes in~/.zshrc.local, which.zshrcsources last. - The per-machine files are never overwritten:
~/.zshrc.local,~/.gitconfig-work,~/.config/tmux/sessions.local,~/.config/sketchybar/aws_profilesand the others in the dotfiles wiki.--tags local-restorebrings them back from Bitwarden on a new Mac. - Tokens and API keys are in no file: tools fetch them from Bitwarden when they start (dotfiles: Secrets).
The zsh tag (terminal role) installs Oh My Zsh, Powerlevel10k and the plugins the dotfiles' .zshrc loads (zsh-autosuggestions, zsh-syntax-highlighting, fzf-tab), cloned at pinned commits into ~/.oh-my-zsh/custom/plugins (zsh_plugins). The tmux plugins are pinned the same way (tmux_plugins). Renovate moves the pins; plugins-outdated in the dotfiles shows the same from a shell.
Day to day, dotfiles-sync (a dotfiles shell function) updates a machine without the playbook: it pulls ~/dotfiles, installs the same files and runs the same install.sh.