My personal dotfiles, managed with chezmoi.
Clone and run the bootstrap script. It installs mise, chezmoi, fish, Claude Code, Codex, Antigravity CLI, GitHub Copilot CLI, and opencode, then applies the dotfiles:
git clone https://github.com/CS-5/dotfiles.git ~/.local/share/chezmoi
~/.local/share/chezmoi/install.sh [--work-email <address>]The work identity comes from a single file, ~/work.email, containing just your
work email address; its domain selects the identity (e.g. …@kirbtech.com). No
file means a personal machine. --work-email writes that file before applying;
omit it for personal setups. Cloud VMs can provision unattended via
cloud-init.yaml.
When the file is absent, the DOTFILES_WORK_EMAIL env var is used as a
fallback — set it as a Codespaces user secret (scoped to work repos) to get the
work identity in Codespaces automatically. On an already-provisioned machine or
Codespace, set-work-email you@work.com writes the file and re-applies in one
step (the file wins over the env var).
These platforms apply the dotfiles directly (no bootstrap script). For a work
machine, create ~/work.email (containing just your work email address) before
running; otherwise it's treated as personal:
sh -c "$(curl -fsLS get.chezmoi.io)" -- init --apply CS-5iex "&{$(irm 'https://get.chezmoi.io/ps1')} init --apply CS-5"Commits are signed with an SSH key, picked at chezmoi init time:
- On work machines where Bitwarden is the SSH agent, and in dev containers (which use the host's forwarded agent), git signs through Bitwarden with the "GitHub Signing" key stored in the vault. Nothing is kept on disk; Bitwarden must be running and unlocked to commit.
- Otherwise, if
~/.ssh/git_signingexists, git signs directly from that file (no agent needed).install.shgenerates one on Linux hosts without a Bitwarden agent, except WSL. - Otherwise, commits are not signed.
Signing is always disabled in Codespaces (GitHub signs those server-side).
On macOS, the dotfiles configure Brouter at
~/.config/brouter/config.toml. Install the app yourself from its
releases and let it become the
default browser. The routing rules are described in AGENTS.md.