This gives an actively-developed base with good hardware support, powerful and optimised compartmentalization primitives in KVM, and the reproducible packaging and configuration system that is important for a maintainable compartmentalized system.
User data and applications are managed centrally while remaining isolated. That means that the system can be backed up and managed as a whole, rather than mixed up in several dozen VMs.
The host system and isolated environments are managed declaratively and reproducibly using the Nix package manager. This can save the user the burden of maintaining many different virtual computers, allowing finer-grained resource access controls and making it possible to verify the software running across all environments.
|If you are interested in why we do something this way instead of that way, see Architecture Decision Records.|