anaclumos/mac
mac
Personal dotfiles and configuration for macOS + Zsh.
Tooling is managed with proto where possible.
Setup
# Clone (path is hardcoded in zsh config)
git clone <repo-url> ~/Developer/configs
# Symlink zsh
for f in .zshenv .zprofile .zshrc .zlogin; do
ln -sf ~/Developer/configs/zsh/$f ~/$f
done
# Symlink karabiner
mkdir -p ~/.config/karabiner/assets/complex_modifications
ln -sf ~/Developer/configs/karabiner/assets/complex_modifications/config.json \
~/.config/karabiner/assets/complex_modifications/config.json
Layout
zsh/
├── .zshenv # Base env for all zsh processes (PATH, exports)
├── .zprofile # Login shell: Homebrew, OrbStack, GCloud, lib/ helpers
├── .zshrc # Interactive shell: Oh My Zsh, aliases, functions
├── .zlogin # Post-login hook (empty)
├── lib/
│ ├── secrets.zsh # Sources ~/.ssh/.secrets.env
│ └── python-venv-guard.zsh # Blocks global pip installs via uv
└── rc/
├── aliases.zsh # Shell aliases
├── functions.zsh # ai() — Gemini-powered git commit
└── integrations.zsh # Atuin, GCloud completions
karabiner/
└── assets/complex_modifications/config.json # Keyboard remaps
Dependencies
Required: proto, Homebrew, Oh My Zsh, Atuin, uv, trash-cli, Gemini CLI, Karabiner-Elements
Optional: OrbStack, Google Cloud SDK
Secrets
Keep API keys in ~/.ssh/.secrets.env (auto-sourced if present, not tracked by git).