Norman,
I think you are right to point to Nix on Noux, and I will make it my next priority. Even if it were practical to reuse legacy package expressions from Nixpkgs it would be much easier if there was a mature Noux Nix running natively rather than going through a lot of cross-compilation and bootstrapping on a Linux host first.
Getting Nix to compile should be straightforward, but building and storing outputs will take some consideration and probably a few design iterations to work well on Genode, though I'm certain it will yield some novel improvements over POSIX Nix. I don't yet have any concrete ideas on what changes would be made, but I will know more as I inspect Noux and Nix.
Emery
On Tue, Dec 30, 2014 at 01:26:11PM +0100, Norman Feske wrote:
- Adapt the Nix packages collection to build its existing packages for
   Noux. This similar to how packages may be built for Darwin or BSD,   I would abort converting Make rules for anything not required for    bootstrapping a Noux toolchain.
Even though that sounds intriguing at the first glance, I cannot say that I regard the porting of Noux packages as a big hurdle right now. So far, my attempts to port software packages that use the GNU build system went actually fairly smooth. Personally, I am not so much interested in a big volume of packages. In my day to day work, only a few packages are actually used (the most significant gap in this respect is a proper LaTeX environment). While porting software to Noux, the most prominent stumbling blocks use to be functionalities missing from our C runtime (e.g., if a program relies on Unix signals), performance bottlenecks, or limitations of our terminal (e.g., lack of support for ANSI pseudo graphics). None of those issues will go away with the switch of Noux packages to Nix.
- Work towards running virtualizing instances of NixOS, building the Genode
   host and the NixOS guest concurrently.
I have had success related to virtualizing, I have managed to integrate my build expressions with the NixOS system expression on my host machine, installing a NOVA scenario to my boot partition and GRUB menu. One could obviously do this with a set of scripts calling make, but in this way the Genode components are treated as system dependencies just as my linux host would treat its system services.
I think the next logical step in this line of thought would be to build my Linux host system as an image optimized for Seoul, but I am traveling at the moment and virtualizing Seoul scenarios has been slow going with only a single laptop.
That looks interesting and very much in line with the plans I laid out in my initial posting. But you approach the idea from a different angle. I am curious where this development is heading.
As another idea, have you considered to port Nix to Noux? That would further blur the line between NixOS and Genode.
Cheers Norman
-- Dr.-Ing. Norman Feske Genode Labs
http://www.genode-labs.com · http://genode.org
Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth