Disk space¶
Rough budget for how much disk a full apply consumes, broken down by init
toggle. The install set is
.chezmoiscripts/run_onchange_after_10_packages.ps1.tmpl (the single source of
truth); see Tools for what each package is and Setup for
the toggles.
These are estimates, not measurements
Sizes are typical installed footprints for each package on Windows, not
values measured on your machine — real numbers vary by version, arch
(x64 vs ARM64), and what's already present. They exclude the four
"bottomless" categories below (Docker images, Ollama models, WSL distro
growth, scoop's download cache), which routinely dwarf the static install.
To see the truth on a real box, use the bundled WinDirStat / TreeSize
(utility apps) or scoop cache show.
Per-toggle estimate¶
| Toggle | Biggest items | Est. (installed) | Default on workstation |
|---|---|---|---|
| Baseline (always) | gcc/MinGW toolchain ~1–1.3 GB, node+bun ~200 MB, uv+Python ~200 MB, neovim/yazi + many small CLIs | ~2 GB | always |
installCodingAgents |
Claude Code (winget) + 3 npm agents (opencode/codex/copilot) + opencode-desktop + apprise | ~0.7 GB | ✅ |
installWindowsApps |
Docker Desktop ~2.5 GB, Cursor/Antigravity ~0.6 GB each, VSCode/PowerToys ~0.35 GB each, 4 browsers, Claude/ChatGPT desktop, Hack Nerd Fonts ~0.4 GB | ~7 GB | ✅ |
installWsl |
WSL2 platform + kernel (no distro) | ~1.5 GB | ✅ |
installWslUbuntu |
Ubuntu rootfs + in-distro dotfiles bootstrap | ~2.5 GB | — |
installUtilityApps |
OBS ~0.45 GB, VLC ~0.2 GB, ShareX, Tailscale, CPU-Z/GPU-Z/HWiNFO… | ~1 GB | ✅ |
installExtraRuntimes |
rust/rustup ~1.5 GB, go ~0.5 GB, ruby ~0.2 GB | ~2.2 GB | ✅ |
installMediaTools |
ffmpeg + imagemagick | ~0.3 GB | — |
installLlmTools |
Ollama ~1.5 GB (no models) + LiteLLM | ~1.8 GB | — |
installTunnelTools |
ngrok + cloudflared | ~0.1 GB | — |
installIacTools |
Azure CLI ~1 GB + Terraform + OpenTofu | ~1.5 GB | — |
installGamingApps |
Steam client (no games) | ~0.4 GB | — |
installSshServer |
OpenSSH Server (Windows optional feature) | ~0.01 GB | — |
installHerdr |
herdr preview | ~0.03 GB | — |
installClink |
clink + lua bridges | ~0.02 GB | — |
installTry |
ruby (≈0 if Extra runtimes already on) + try-cli gem | ~0.2 GB / ~0 | — |
Scenarios¶
| Profile | What's on | Est. total |
|---|---|---|
minimal role |
baseline only | ~2 GB |
workstation role (default) |
baseline + CodingAgents + WindowsApps + WSL + UtilityApps + ExtraRuntimes | ~14–15 GB |
| Everything on | all toggles | ~21–25 GB |
The workstation math:
The bottomless items¶
Not in the numbers above — these grow at runtime, often past the entire static install:
- Docker Desktop — images + the
docker-desktopWSL VM disk grow with what you pull/build. - Ollama (
installLlmTools) — each model is 4–70 GB; the app itself is the ~1.5 GB counted above. - WSL Ubuntu (
installWslUbuntu) — the distro disk expands as you use it. - scoop cache — downloaded archives sit in
~/scoop/cache(~another copy of every download, compressed). Reclaim withscoop cache rm *.
Trimming tips¶
- The biggest single wins are turning off
installWindowsApps(−~7 GB, Docker Desktop dominates),installLlmTools(−~1.8 GB before any models), andinstallIacTools(−~1.5 GB, mostly Azure CLI). - The heaviest baseline item is the gcc/MinGW toolchain (~half of
baseline) — but it's mandatory: LazyVim's
nvim-treesittermainbranch compiles parsers with a real gcc. A leaner alternative is scoopmingw(niXman MinGW-w64 UCRT) — see Tools. - Reclaim space after apply:
scoop cache rm *, thenscoop cleanup *to drop old app versions.