Some day I'd like to be able to generate my router firmware from Guix, even if I'm not running Guix on the router itself I don't suppose there's such a thing as an automated translation from nix to guix? NixWRT will (some day, depending how often I am distracted from working on it) do exactly that for nix


@dan Nice! @mothacehe & others have been working on system cross-compilation, which is a nice way to target low-end ARM devices:

@dan @mothacehe Interesting, thanks! I see you use a custom "module" system instead of full-blown NixOS, which I guess has advantages but the main drawback is the need to rewrite services & co.?

As for closure size... I can sympathize. It's always surprisingly hard to shrink those packages! I'm currently having a rethink about how services are managed (monit's not really ideal), but I don't think nixos services provide the flexibility I want: I need a module to be able to add kernel symbols, busybox applets etc; there can be more than one module of the same "class" (you want a dhcp6 client on your wan interface and a second one on the interface created by your ppp-over-l2tp service which uses that wan interface and they shouldn't get in each other's way?) etc. NixOS services take their config from a subtree of a shared configuration object, whereas NixWRT modules are (not always, historically, but tending over time towards) getting their config from the local parameters they're invoked with.

I would like the syntax/schema checking system that modules use, though, so that I get told if I'm passing an attrset to something that wants a list of them, or a list of strings to a thing that wanted only one. May have to borrow that...

There's also the point that, honestly, most of what I would want to run on an embedded MIPS box with little RAM and not much CPU is not the kind of thing Nix users tend to write services for. For targets with more hardware there's always Mobile NixOS :-)

Sign in to participate in the conversation
Mastodon (Aquilepouet)

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!