Skip to content

Repository files navigation

dotfiles

Personal dotfiles managed with chezmoi.

Secrets are encrypted with age — this repo is safe to be public.

What's included

Tool Config
zsh .zshrc
git .gitconfig
tmux .tmux.conf
WezTerm .config/wezterm/
Neovim (LazyVim) .config/nvim/
Starship .config/starship.toml
lazygit .config/lazygit/
opencode .config/opencode/
skhd .config/skhd/
GPG agent .gnupg/gpg-agent.conf
SSH keys .ssh/ (private key encrypted)
Homebrew .Brewfile
Claude Code .claude-alk/, .claude-assilva/
Codex CLI .codex/
OpenCode .config/opencode/
Shared AI config .config/ai/
Agent skills .agents/

Claude Code profiles

Claude Code uses separate configuration directories for the ALK and Assilva accounts:

claude-alk
claude-assilva

After applying the dotfiles, start a new shell or run source ~/.zshrc. On macOS, OAuth credentials are stored in Keychain and namespaced by configuration directory, so run claude-alk auth login and claude-assilva auth login once on a new machine or after migrating from the default ~/.claude directory.

New machine setup

1. Install Homebrew

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
eval "$(/opt/homebrew/bin/brew shellenv)"

2. Install chezmoi and apply

brew install chezmoi
chezmoi init git@github.com:tinque/dotfiles.git

3. Restore the age decryption key

Copy key.txt from your Bitwarden vault to:

~/.config/chezmoi/key.txt
chmod 600 ~/.config/chezmoi/key.txt

4. Apply dotfiles

chezmoi apply

This will deploy all configs and automatically import GPG keys on first run.

5. Install Homebrew packages

brew bundle --global

6. Post-install

  • Open WezTerm — tmux starts automatically
  • Open Neovim — Lazy will install all plugins on first launch
  • Grant Accessibility permission to skhd in System Settings > Privacy & Security
  • Install tmux plugins: prefix + I (capital i) inside tmux

Maintenance

Sync local changes back to the source repo

chezmoi status
chezmoi diff
chezmoi add ~/.claude-alk/{CLAUDE.md,RTK.md,settings.json} \
  ~/.claude-assilva/{CLAUDE.md,RTK.md,settings.json} \
  ~/.codex ~/.config/opencode ~/.agents ~/.Brewfile

Review the diff before committing. Do not commit generated runtime files, temporary plans, specs, or secrets that were not intentionally managed.

Homebrew

brew update
brew bundle install --global --upgrade
brew bundle check --global --verbose
brew outdated
brew doctor

If brew doctor reports an obsolete or disabled cask, remove or replace it instead of keeping it in .Brewfile.

About

My personal dotfiles managed with Chezmoi for a consistent setup across all my machines.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages