Introducing Casita
Casita is an attempt to split Nix's storage layer into a standalone, content-addressed object store that can deduplicate source trees and build artifacts across increasingly artifact-heavy developer and agent workflows.
Logged at IST: 2026-09-27 12:02 IST
What it is: Domen Kožar introduces Casita, a pre-release Rust library and CLI for storing source code and build artifacts as content-addressed objects.
Gist: Casita is framed as the first standalone layer in a broader effort to rethink and modernize Nix. Instead of forcing developers to adopt the whole Nix stack, it extracts the storage piece: immutable blobs and object records, BLAKE3-addressed content, named roots, retention policy, synchronization, and garbage collection.
The practical target is package-manager and build-output sprawl. Rust workspaces, throwaway checkouts, and agentic development can produce many near-duplicate target/ directories and generated artifacts. Casita aims to preserve reuse without keeping every duplicate byte forever. The article also sketches experimental Cargo integration, NAR/Git/tar/filesystem importers, Casitar archives, CasitaFS mounts, S3-backed shared repositories, and evictable roots for rebuildable cache data.
Caveat: It is still pre-release. The Cargo backend is experimental and not yet as fast as the filesystem backend; the Git object database adapter covers object storage but not the rest of a full Git repository.
Newsletter angle: Useful systems piece for the “agentic development makes artifact management worse” thread: content-addressed storage and cache retention may become a developer-tooling primitive, not just a Nix implementation detail.