Skip to content

Installation

Justin Puah edited this page Aug 16, 2026 · 2 revisions

Both platforms use a module-based installer: pick the tools you want, or install everything. Both support a dry run that previews changes without touching anything.

Windows — setup.ps1

git clone git@github.com:jinyeow/dotfiles.git $HOME/dotfiles
cd $HOME/dotfiles
.\setup.ps1 -Module all          # install everything
.\setup.ps1 -Module git,nvim     # or pick specific modules
.\setup.ps1 -Module all -DryRun  # preview without changes

Available modules: neovim, vim, powershell, git, bash, tig, tmux, zellij, psmux, yazi, curl, claude, codex, pi, ai-agents, serena, context7, fastmail, langservers, biceptools, herdr, lazygit, windowsterminal, bat, vscode, winget

ai-agents is a composite that runs claude, codex, and pi in sequence (used by all instead of listing the three individually); each remains independently invocable on its own.

langservers and biceptools install toolchain-dependent language servers — npm packages through Volta, and the Bicep language server through the .NET SDK (dotnet tool install --global Azure.Bicep.LangServer). Both toolchains come from the curated winget set, which the winget module only prints the bootstrap command for, so on a bare machine these two warn and skip until winget\packages.ps1 has actually been run; a re-run of setup.ps1 then picks them up.

Some modules need extra privileges: file symlinks require Developer Mode (skill/agent dirs are junctioned instead). The MCP modules (codex, serena, context7, fastmail) register servers in ~/.claude.json and are Windows-only. The pi module additionally requires Node.js/npm on PATH if Pi is not already installed.

Linux / WSL — setup.sh

git clone git@github.com:jinyeow/dotfiles.git ~/dotfiles
cd ~/dotfiles
./setup.sh -m all              # install everything
./setup.sh -m git,neovim       # or pick specific modules
./setup.sh -m all --dry-run    # preview without changes

Available modules: neovim, vim, powershell, git, bash, tig, tmux, zellij, curl, claude, codex, pi, ai-agents, langservers, herdr, lazygit, windowsterminal

ai-agents is a composite that runs claude, codex, and pi in sequence (used by all instead of listing the three individually); each remains independently invocable on its own.

Requirements — winget bootstrap (Windows)

On a fresh machine, run the winget bootstrap first to install all the underlying tools at once:

.\winget\packages.ps1 -DryRun  # preview
.\winget\packages.ps1           # install

Or install the core tools individually:

Tool Purpose Install
delta Git pager / diff viewer winget install dandavison.delta
fzf Fuzzy finder winget install junegunn.fzf
ripgrep Fast grep winget install BurntSushi.ripgrep.GNU
bat Syntax-highlighted cat winget install sharkdp.bat
zoxide Smart cd winget install ajeetdsouza.zoxide
lazygit Terminal git UI winget install JesseDuffield.lazygit
tig Terminal git browser winget install Jonas.Tig
jujutsu (jj) Git-compatible VCS (prompt-integrated) winget install jj-vcs.jj
Neovim 0.12+ Editor winget install Neovim.Neovim

See each tool's wiki page for full prerequisites and setup notes.


Source: README.md and setup.ps1 / setup.sh in the dotfiles repo.

Clone this wiki locally