If I understand NixOS correctly, there is no explicit distinction between system and applications, and everything is handled by the same package management mechanism. The value proposition is in having clean separation between all packages, such that each application can be presented with its own mix of system packages without any conflicts between them.