env
A machine rebuilt from its dotfiles, not one where things pile up. Plus disk space, measured and given back
Everything goes through the dotfiles
Installing or configuring anything means writing it into the chezmoi source,
then letting chezmoi apply do it. apt install, npm i -g or curl | sh
are fine to try something out; the task is done only when a clean machine
would get the same thing from an apply.
sync reads your setup before touching it: where the source lives, how it is
organized, what its own AGENTS.md decided. Your conventions win over the
skill's. Then it puts the change where that kind of change belongs:
| Change | Goes to |
|---|---|
| OS package | the existing package list |
| runtime | the version manager's config |
| tool with an installer | a guarded run_once_ script |
| app on the host machine | the host's script |
| config file | chezmoi add, a template when it varies per machine |
| caches, credentials | nowhere |
"Is it in sync?"
Four questions, not one:
- Machine vs source:
chezmoi status - Source vs committed:
git statusin the source - Committed vs pushed
- Installed vs provisioned: what is on the machine that nothing installs
Before every apply it reads the diff for removals: a PATH line an
installer appended to your shell rc disappears on the next apply unless it
moves into the source.
Disk space
reclaim measures, frees what rebuilds itself, and leaves the rest to you.
reclaim scan # measure: Linux, WSL disks, Windows host
reclaim prune docker|caches|build # only what regenerates
reclaim compact # prints the WSL compaction, never runs itWorktrees, volumes, models and VM images are listed for you to decide one by
one. Compaction is printed, not run: wsl --shutdown would stop the agent
running it.
Skills
reclaim
model + userFind what is filling a machine's disks and give the space back - measure the Linux side, the WSL virtual disks and the Windows host in one pass, prune what regenerates (docker build cache and unused images, package-manager caches, cargo target/ and node_modules/), put everything that needs a decision in front of the person, and finish with the exact commands that shrink a WSL disk on the host. Use whenever someone asks what is taking up space, why a disk (C:, the home dir, the WSL distro) is full or almost full, to free or clean up disk space, to prune docker or old builds, or whether and how to compact, shrink or optimize a WSL vhdx. Machine-scoped - applies in any project, or in none. Not for deleting a project's source or a user's documents, not for provisioning (that is `sync`), and not for a one-off `du` on a single directory.
Needs Linux with python3, du, find and df. Under WSL2 it also measures the Windows host through powershell.exe and prints the host-side compaction; elsewhere those sections are simply absent. docker, git and each package manager are used only if present.
Scripts reclaim
Read reclaim/SKILL.mdsync
model + userKeep a machine and its dotfiles repo the same thing - install and configure through the dotfiles source directory, never by hand. Use whenever someone asks to install or set up anything on their machine (a CLI, a package, a runtime, a font, a desktop app - "instala o X", "poe o Y na maquina", "set this up"), whenever a config file in the home directory needs changing, and whenever they ask whether the environment is in sync, what drifted, or why a fresh machine would not come out the same. Also use right after something was installed by hand, to write it back before it is forgotten. Machine-scoped - applies in any project, or in none. Not for installing a dependency of the project you are in (that belongs in its own package manifest), not for committing the dotfiles repo once the change is written (that is the git plugin's `commit`), and not for a one-off command run to inspect the machine.
Needs chezmoi 2.x with its source directory under version control. Any platform chezmoi runs on - the package managers, script names and numbering are read from the source directory being managed, never assumed by this skill.
Read sync/SKILL.md