Dotfiles managed with yadm.
curl -fsSL https://raw.githubusercontent.com/Sannis/dotfiles/master/setup.sh | bashbrew install yadm
yadm clone [email protected]:Sannis/dotfiles.gityadm stores its bare repo at ~/.local/share/yadm/repo.git. Dotfiles are tracked in-place in the home directory — no symlinks needed.
On a fresh clone, yadm runs ~/.config/yadm/bootstrap, which enables sparse checkout to keep repo-only files (README.md, setup.sh, CLAUDE.md) out of the home directory.
To start tracking a new dotfile:
yadm add ~/.vimrc
yadm commit -m "Add .vimrc"
yadm pushFiles in subdirectories work the same way:
yadm add ~/.config/starship.toml
yadm commit -m "Add starship config"
yadm pushTo see what's currently tracked:
yadm list -aTo check for uncommitted changes in tracked files:
yadm statusRuns once per login shell (e.g. when you open a new terminal window or SSH in). Contains environment setup that only needs to happen once and should be inherited by child processes: Homebrew shell environment (brew shellenv) and OrbStack CLI integration.
Runs for every interactive shell (login shells and subshells like zsh typed inside a terminal). Contains per-session configuration: PATH modifications (~/.local/bin), aliases, prompt settings, completions.
In practice on macOS, Terminal.app and iTerm2 open login shells, so both files run. But if you spawn a subshell (zsh inside zsh), only .zshrc runs again — which is why expensive one-time setup (like brew shellenv) belongs in .zprofile.
User identity and a set of short aliases for everyday git commands.
Global gitignore rules applied to all repositories. Currently ignores .claude/settings.local.json (local Claude Code settings that should not be committed).
Includes OrbStack SSH configuration for seamless access to OrbStack Linux VMs via ssh orb.
Global Claude Code instructions applied to all projects: git operation conventions and Markdown style preferences.
Claude Code settings: pre-approved bash command permissions and a PreToolUse hook that auto-approves read-only gcloud commands.
PreToolUse hook script that intercepts Bash tool calls and auto-approves read-only gcloud commands. Write commands are deferred to Claude's normal approval flow.
Tests for the gcloud permissions hook.
Zed editor settings: JetBrains keymap, font sizes, One Light/Dark theme following system appearance, and telemetry preferences.