Personal macOS dotfiles designed for Apple Silicon and managed with chezmoi.
- XDG-first layout
- Reproducible setup via Brewfile and mise
- Minimal and composable CLI tooling
- Fast interactive zsh environment
- Single-command bootstrap on a fresh machine
| Category | Tools |
|---|---|
| System | chezmoi, mole, syncthing, rbw, OrbStack |
| Terminal & Shell | Ghostty, tmux, zsh (sheldon, starship, fzf, atuin) |
| CLI Essentials | zoxide, bat, eza, fd, ripgrep, jaq, moor |
| CLI Extras | dust, procs, bottom, tlrc, ffmpeg, sevenzip, delta, freeze |
| Editor / IDE | Neovim (AstroNvim), Zed |
| Dev Tools | mise, uv, bun, cargo, go, gh, just, task |
| Dev TUI | yazi, code2prompt, lazygit, sqlit-tui, ghgrab, glow, jnv |
| AI | Claude Code, Crush, Claude Desktop, ChatGPT, Perplexity |
| Apps | Zen, Ferrite, Figma, IINA, Raycast, Better Resource Monitor |
~/.config/
├── atuin # shell history sync
├── bottom # system monitor
├── freeze # code screenshot tool
├── ghostty # terminal emulator settings
├── git # git config
├── glow # markdown reader
├── homebrew # brew bundle and env
├── lazygit # terminal UI for git commands
├── jnv # interactive json viewer
├── mise # dev tools manager
├── mole # cleaner whitelist
├── nvim # AstroNvim
├── sheldon # plugin definitions
├── starship # shell prompt
├── tmux # terminal multiplexer
├── yazi # file manager
└── zsh/
├── .zshrc # entry point
├── .zprofile # brew shellenv
├── local.zsh # secrets (not tracked)
└── conf.d/
├── aliases.zsh # aliases
├── env.zsh # exports
├── functions.zsh # shell functions
├── inits.zsh # tool inits
├── keybindings.zsh # keyboard shortcuts
├── options.zsh # setopt, history
└── plugins.zsh # compinit + sheldon
~/.zshenv # ZDOTDIROn a clean machine, run a single command:
curl -fsSL https://raw.githubusercontent.com/kir-sth/dotfiles/main/install.sh | bashNote: If Xcode CLI Tools are not installed, the script will prompt you to install them and exit. Re-run the command after installation completes.
install.sh sequentially:
- Ensures Xcode CLI Tools are installed
- Installs Homebrew
- Installs chezmoi
- Initializes and applies dotfiles via chezmoi
- Creates runtime directories
- Installs packages and applications from Brewfile
- Installs mise tools
- Installs yazi packages and themes
- Locks sheldon plugins
# Bitwarden
rbw config set email <your-email>
rbw register
# Neovim plugins
nvim
# :AstroUpdate — update AstroNvim framework + Lazy plugins + Mason tools
# Configure local secrets and API keys
# Recommended: store secrets in Bitwarden and export them via local.zsh
nvim ~/.config/zsh/local.zsh# Config shortcuts
brewfile # cat Brewfile
misefile # cat mise.toml
configs # open chezmoi source in nvim + apply
# General (interactive run)
up # update Homebrew packages, apps, and mise tools
gc # clean Homebrew, mole caches, and unused mise assets
status # show Brewfile drift and pending chezmoi changes
lock # dump brew state and track Brewfile and mise.toml in chezmoi
check # run security checks
setup # unlock Bitwarden and load local environment variables
y # open yazi and change shell directory on exitchezmoi edit file # edit and auto-apply
chezmoi add file # track a new file
chezmoi diff # preview pending changes
chezmoi apply # apply all changes
chezmoi update # pull from GitHub + apply