Fresh install (no git required):
curl -fsSL https://raw.githubusercontent.com/prashantv/dotfiles/main/setup.sh | bashWith git (clones via SSH for a writable clone):
curl -fsSL https://raw.githubusercontent.com/prashantv/dotfiles/main/setup.sh | bash -s -- --gitFrom an existing clone:
./setup.sh --branch NAME Branch to use (default: main)
--git Clone via SSH instead of downloading tarball
--profile NAME Machine profile for zshrc_local (default: hostname)
--dir PATH Install directory (default: ~/dotfiles)
--skip-binaries Don't download binaries; expect them to be user-installed
To test a branch on a clean VM:
curl -fsSL https://raw.githubusercontent.com/prashantv/dotfiles/<branch>/setup.sh | bash -s -- --branch <branch>- Files in
home/are symlinked to~/, so edits in the repo immediately take effect. - Machine-specific config lives in
profiles/<name>/zshrc_local, selected via--profile. - External dependencies (zprezto, fzf-tab, direnv, fasd, fzf-git, mise) are installed automatically.
~/.gitconfig_deltais generated with delta config if delta is available.
- curl (for any install)
- git (for
--gitmode and external dependency cloning)
- Install
zshand change shell:chsh -s $(which zsh) - GitHub SSH Key Management
mkdir -p ~/.ssh && curl https://github.com/prashantv.keys | tee -a ~/.ssh/authorized_keys