Version large files in a git repo without Git LFS. Splits any file over a size
cap into sub-100MB chunks, gitignores the originals, and stores the chunks plus
a checksum manifest in .chunky/. Rebuilds and hash-verifies on demand.
nix run github:you/chunky # chunk: detect >100MB files, split into .chunky/, update .gitignore
nix run github:you/chunky#rebuild # reassemble originals from .chunky/ and verify against the manifest
nix run github:you/chunky#verify # re-check existing files against the manifestThen commit .chunky/ and .gitignore. The big files stay ignored; a fresh
clone runs #rebuild to restore them.
CHUNKY_THRESHOLD_MB— detection threshold (default100)CHUNKY_PIECE— chunk piece size, must stay under 100MB (default95M)
.chunky/<path>.partNNN— byte chunks of each original (committed).chunky/manifest.sha256— sha256 of each original (committed)- originals — gitignored, rebuilt locally