ZVM-DEDUPE(1)
π ZVM-DEDUPE(1) β the zvm dedupe glow-up
okay bestie, so this is a User Commands page from the ZVM manual, and it's all about zvm-dedupe β the little icon that hard-links identical files across your installed Zig versions so your disk doesn't get bullied. π¦
β¨ NAME β¨
zvm-dedupe β hard-link identical files across installed Zig versions, periodt.
π SYNOPSIS π
zvm dedupe [version...]
zvm dedupe --auto on|off
πΈ DESCRIPTION πΈ
So here's the vibe: it hashes every regular file in the installed versions you give it (and legit all of them when you give it none) with SHA-256, then replaces the duplicates with hard links pointing into the content-addressed store at ~/.zvm/store/. π
The way that patch releases of the same Zig series literally share almost every file except the compiler binary? Yeah β so this roughly halves the space two of them take. Releases further apart share less, ngl. Just how it is. β¨
Files only get merged when their content, permission bits and (on Unix-like systems) owner all match β because hard links share one inode, bestie, it's giving "one soul, many bodies." Symbolic links, empty files and setuid/setgid/sticky files are left alone. π Not touching those.
Each file is replaced by linking the store copy to a temporary name in the same directory and renaming that over the original β so an interrupted run never leaves a file missing. ππ Run it again and it finishes the job; otherwise it changes nothing. Files that can't be hard-linked (another filesystem, or one without hard-link support) are left untouched and reported; they don't fail the run. Slay.
β οΈ A deduped file is shared: editing it in place changes it in every version that links to it. A later run detects store entries that no longer match their hash and stops sharing them, but it cannot undo the edit β reinstall with zvm install --force instead. No cap, be careful. π
Store files that no installed version links to any more get removed by zvm-clean(1) and after zvm-uninstall(1). π§
π₯ OPTIONS π₯
--auto on|offβ sets whether zvm-install(1) dedupes each newly installed version automatically, then bails out. Stored asautoDedupein~/.zvm/settings.json. Off by default. π
β EXAMPLES β
zvm dedupe
zvm dedupe 0.15.1 0.15.2
zvm dedupe --auto on
π SEE ALSO π
zvm(1), zvm-clean(1), zvm-install(1), zvm-uninstall(1)
π«Ά okay that's the whole page! This one's ZVM v0.9.4, dated October 2026 β go forth and dedupe, main character. ππ
π¦ where this page comes from
- nixpkgs unstable: zvm 0.9.4
- Copyright 2026 Tristan Isham. All rights reserved
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms