Skip to content

Latest commit

 

History

77 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This is my personal dotfiles, managed with chezmoi.

Setup on a new machine

sh -c "$(curl -fsLS get.chezmoi.io)" -- init --apply --source ~/dotfiles chengbo/dotfiles

--source ~/dotfiles makes chezmoi clone the repo straight into ~/dotfiles, so that's the one and only clone on the machine. Don't separately git clone this repo elsewhere — a second clone can drift out of sync with the one chezmoi actually manages.

Dependencies

This repo only manages config files — it doesn't install the tools it configures. Everything below needs to be installed separately on a new machine.

Required everywhere:

  • chezmoi — manages this whole repo
  • zsh + Oh My Zsh — shell and framework (dot_zshrc)
  • git — plus git-delta (delta) as the diff pager, and tig as the git TUI
  • Neovim (0.10+) — config lives in dot_config/nvim, bootstrapped via lazy.nvim/LazyVim; plugins install themselves on first launch, no separate install step needed
  • ripgrep and fd — power Neovim's Snacks picker (find/grep) and its .gitignore-aware file filtering; without them it silently falls back to plain find, which ignores .gitignore entirely. On Ubuntu/Debian: sudo apt install ripgrep fd-find (the package installs as fdfind; symlink it to fd on PATH if some other tool expects the bare name)
  • lsd — replaces ls/ll/l
  • A Nerd Font in your terminal — needed for the bo prompt theme's icon, lsd's icons, and Neovim's UI (bufferline/neo-tree/dashboard) to render instead of showing blank boxes
  • 1Password — backs SSH auth (SSH_AUTH_SOCK) and SSH commit/tag signing (commit.gpgsign = true in dot_gitconfig.tmpl); the allowedSignersFile also has a specific pubkey hardcoded in private_dot_ssh/allowed_signers

Required for the AI CLI / MCP setup:

  • Claude Code CLI (claude)
  • Codex CLI (codex)
  • Node.js (so npx is available) — both dot_claude/mcp.json and dot_codex/modify_private_config.toml run npx -y @azure-devops/mcp on demand
  • Azure CLI (az), logged in via az login — the ado MCP server authenticates with --authentication azcli

Optional (guarded — harmless if missing):

  • dotnet SDK — dot_path.zsh adds ~/.dotnet and ~/.dotnet/tools to PATH; also needed for Neovim's C# tooling (OmniSharp, csharpier, easy-dotnet.nvim) in dot_config/nvim
  • Rust/Cargo — dot_path.zsh adds ~/.cargo/bin to PATH
  • nvmdot_path.zsh sources it only if present
  • Worktrunk (wt) — shell integration in dot_zshrc only loads if wt is on PATH
  • tmux — config in dot_tmux.conf
  • snap — only relevant on Linux distros that use it

WSL-only:

  • socat and npiperelay.exe — bridge the WSL Unix socket to the Windows-side 1Password SSH agent named pipe (dot_zshrc)
  • op-ssh-sign-wsl.exe — 1Password's SSH commit-signing helper, wired into dot_gitconfig.tmpl only when .chezmoi.os == "linux"

macOS-only:

  • reattach-to-user-namespace — used by dot_tmux-macos.conf for clipboard integration with pbcopy

Usage

chezmoi edit ~/.zshrc   # edit a managed file (edits the source, not the target)
chezmoi diff            # preview what would change
chezmoi apply           # apply the source state to the home directory
chezmoi update          # pull the latest changes from the repo and apply them
chezmoi cd              # cd into the source directory to commit/push changes

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages