NixOS has containers that show how this could work, but they're only via systemd-nspawn, so not as jailed as Qube's domUs.
NixOS has containers that show how this could work, but they're only via systemd-nspawn, so not as jailed as Qube's domUs.
I've also been looking at how projects like Hypercontainer and Clear Containers achieve minimal VM overhead to expand the model to a per-application-instance VM.
Another interesting enabling technology is VirtFS, which can be used for filesystem-level storage virtualization to gain the many benefits of COW and shared caching.
The principal question then is how to allow interaction between different application instances without the user having to manually ferry files between them, as it currently happens with AppVMs on Qubes.
Is chromes process per tab model restricted? Forking and piping in general perhaps?
Currently all applications assume they get access to everything by default, so even if one was to be able to implement a confirmation dialog, the user would be victim to a battery of requests.
This is not to mention that isolation excludes discoverability, so users would have to manually make files visible to other applications beforehand.
This means you can run Genode on NOVA with VirtualBox 5 fully integrated as the VMM, all with the improved Noux/POSIX interop components in place, and have a decent package management solution (that handles API compatibilities, multiple version installs, src vs binary deps, packages, and more). There's also Xen support with the most recent release (for cloud appliance work with Genode)
What's more, based on the roadmap and challenges, they should be bringing VirtualBox5 support to the seL4 kernel, and they even have a goal for being the virtualization foundation of QubesOS. https://genode.org/about/challenges
With the recent toolchain update and new package management system, its easier than ever to cook up your own Genode-based systems.
a) tweak compilation flags of libraries & apps
b) describe full set of runtime config files of an app
and thus build a single full configuration of a whole system, like in NixOS.
Hm; or can this maybe somehow be solved with the "run scripts" mentioned at the end of the article? I'm even less than a noob with regards to Genode, so I'm not sure about that.
Or does the package manager only provide Nix-like functionality, with no way for NixOS-like features?