macOS configuration: zsh, Ghostty + tmux (or Rex), AeroSpace, SketchyBar, Neovim, VS Code, Kubernetes guardrails, secrets kept in Bitwarden, global git hooks and Claude Code.
The guide is the wiki: installing and updating, the shell, Kubernetes, secrets, git, development and troubleshooting. The READMEs in the folders hold the reference tables (shortcuts, plugins, items).
A new Mac: the devops-daily-driver
Ansible playbook clones this repo to ~/dotfiles and installs it. Then, on any
machine:
dotfiles-diff -p # what a sync would change, changing nothing
dotfiles-sync # pull and install; then `exec zsh`Never edit the installed files: what is specific to one machine goes in files
that are never committed (~/.zshrc.local and the others in
the wiki).
.config/: tool configs, synced to~/.config/aerospace/,borders/,sketchybar/: the desktopghostty/,tmux/,rex/: the terminalnvim/,vscode/,lazygit/,yazi/,bat/: editors and viewerskube-guard/,k9s/,sofka/,kubectl/: Kuberneteszsh/: the shell functions.zshrcsourcesdotfiles/:install.sh, the lists of files copied to~and of obsolete ones, the LaunchAgents,local-filesgit/,ssh/: global gitignore, allowed signers, ssh defaults
.zshrc,.p10k.zsh,.gitconfig*: copied to~(.config/dotfiles/home-files)git_hooks/: the global git hooksclaude/: Claude Code, synced to~/.claude/tests/: pytest, run by CI
CI (.github/workflows/lint.yml, on macOS) runs shellcheck, bash 3.2 and zsh
syntax, JSON, nvim, pytest, Hue's and the Go tools' tests, and gitleaks. The same
locally: Development.