These dotfiles are mostly managed using Codex CLI.
- Shell: ZSH + Oh My Zsh, modular
conf.d/, fast startup, rich completions, Atuin history, Zoxide jumping. - Terminal: Tmux with Rose Pine Dawn theme, sensible keybindings, TPM + resurrect/continuum.
- Editor: Lazy-managed Neovim (LSP, Treesitter, Telescope, Gitsigns, conform.nvim, nvim-lint, DAP).
- Extras: Ghostty config (Rose Pine Dawn),
ezatheme, Git config with delta.
Prereqs: macOS or Linux, Git; Homebrew for macOS.
Quick start
git clone https://github.com/kzh/dotfiles.git ~/Code/Repos/github.com/kzh/dotfiles
cd ~/Code/Repos/github.com/kzh/dotfiles && ./installNon-interactive
./install -y(or./install --yes)- With Just:
just bootstrap - Env alternative:
DOTFILES_YES=1 ./install(legacyYES=1andNONINTERACTIVE=1also work)
What the installer does
- Backs up existing files to
~/.dotfiles_backup/<timestamp> - Symlinks configs into
$HOMEand$XDG_CONFIG_HOME - Optionally installs Homebrew packages and macOS defaults
- Optionally sets up Oh My Zsh and Tmux plugins (TPM)
Post‑install
- Restart shell or
source ~/.zshrc - In tmux: press
Ctrl-bthenIto install plugins - In Neovim: run
:Lazy synconce
dotfiles/
├── install
├── Brewfile
├── Justfile
├── config/
│ ├── shell/ # zshrc, conf.d/, completions/_*
│ ├── terminal/ # tmux.conf, tmux/scripts/, ghostty/config
│ ├── editors/nvim/ # Lazy-managed Neovim
│ ├── git/ # gitconfig, gitignore_global
│ └── eza/ # theme.yml
└── scripts/
just bootstrap— non-interactive install (./install -y)just brew— install packages from Brewfilejust lint— shellcheck +zsh -nif available