Nix: a different beast altogether
Nix ( https://nixos.org/nix) doesn’t use OSTree in any way. It’s a distinctive package manager for Unix. Yet it shares a few design goals and is somewhat similar to OSTree in spirit. So it makes sense to have a look at Nix here to compare both approaches.
Nix manifests itself as a “pure functional package manager”. If you don’t follow trends in programming languages, this means that building packages don’t have side effects, and packages themselves are immutable and deterministic. Nix also hashes build dependencies graph and provides packages isolation through this. So you may have two versions of KDE installed side-by-side. However, Nix isn’t a content-addressable filesystem.
Nix supports both source and binary deployments. In other words, it can compile everything including the compiler for you, or use cached binary packages. Every package is installed under /nix/store, and using the cryptographic hash as a part of the name means you can upgrade and roll back atomically, as in OSTree. However, this works at the package level whereas OSTree operates complete filesystem trees.
Officially, Nix supports Linux and Mac OS X. There’s also – some would say – a niche Linux distribution, NixOS, which, you guessed it, uses Nix as an official package manager. The tool also provides a convenient means to manage build environments. If you ever used Docker for this purposes, we suggest you have a closer look. Last but not least, if this all sounds interesting, drop us a line so we can cover Nix in a future Administeria article.