Snix

A modern Rust re-implementation of the components of the Nix package manager.

Learn More

Composable and Modular by Design

Snix is architected with a focus on composability. Different components representing different aspects of Nix can be combined and extended freely, allowing it to be tailored to your usecase.

Library-first Approach

Designed to be embedded in your project, it opens up the possibility to interact with Nix expressions and concepts more natively than conventional Nix CLI-based tools.

Robust Unit Test Coverage

Snix has a strong commitment to reliability and compatibility with Nix' behaviour, resulting in an extensive test suite, documentation and regression testing.

Content-addressed Storage model

With its own content-addressed storage engine, Snix can store and exchange store path contents in a much more granular fashion, while providing great deduplication, consistency and integrity across build artifacts and dependencies.

Interoperability with Nix

While potentially doing thing differently underneath, it provides a "Nix-compatible surface". This results in nixpkgs compatibility, allowing to produce the same build expressions as Nix, bit-by-bit, and interoperability with existing Nix binary caches.