Personal macOS and Linux shell setup: zsh, CLI tools, Neovim, agent rules, and machine-local configuration defaults.
For a new machine, run the bootstrap script.
It clones or updates ~/.dotfiles, then starts the installer.
curl -fsSL https://raw.githubusercontent.com/jinyongp/dotfiles/main/scripts/install-remote.bash | bashTo inspect the script first:
curl -fsSLO https://raw.githubusercontent.com/jinyongp/dotfiles/main/scripts/install-remote.bash
less install-remote.bash
bash install-remote.bashTo install from a manual checkout:
git clone https://github.com/jinyongp/dotfiles.git ~/.dotfiles
~/.dotfiles/installAfter shell setup is installed, use the dotfiles command.
dotfiles install
dotfiles list
dotfiles update
dotfiles doctorWhen no existing dfx command is present, zsh also defines dfx as a short
alias for dotfiles.
Run a specific target when you only want one part of the setup.
dotfiles install neovim
dotfiles install agents
dotfiles install agents codex
dotfiles install packages taskwarrior
dotfiles install packages fnm eza
dotfiles install themeThe interactive installer is plan-first.
It starts with Minimal, Recommended, Full, or Custom, then lets you
review, revise, or cancel the final plan before anything runs.
For the full installer flow, direct install targets, platform notes, and local
config paths, see docs/installer.md.
Run uninstall to remove dotfiles-managed symlinks and agent instruction blocks. It does not remove packages, apps, fonts, themes, backups, machine-local config, or a manual checkout.
dotfiles uninstall -yBackups for files replaced during install live in
~/.config/dotfiles/backups/<timestamp>.
Restore those files manually before deleting the repository.
See docs/installer.md for the full
rollback checklist.
- zsh startup files and shell helpers
- CLI packages and selected desktop apps
- Neovim config
- AI agent rules and skills
- themes, fonts, and machine-local Git config helpers
Machine-local overrides live under ~/.config/dotfiles.
Secrets and per-machine values should stay there, not in this repository.
This repo treats Neovim as the primary terminal editor. The dotfiles setup links the repo-managed Neovim config and keeps plain Vim as a lightweight fallback.
For editor behavior and formatting rules, see docs/editor.md.
For the keymap reference, see docs/neovim-keymaps.md.
- Installer details:
docs/installer.md - Editor behavior:
docs/editor.md - Neovim keymaps:
docs/neovim-keymaps.md - Contributing and commit messages:
docs/contributing.md