A Nix-based system for configuring consumer wifi routers, of the kind that OpenWrt or DD-WRT or Gargoyle or Tomato run on. It’s a reboot/restart/rewrite of NixWRT.

This is not NixOS-on-your-router: it’s aimed at devices that are underpowered for the full NixOS experience. It uses busybox tools, musl instead of GNU libc, and s6-rc instead of systemd.

The Liminix name comes from Liminis, in Latin the genitive declension of “limen”, or “of the threshold”. Your router stands at the threshold of your (online) home and everything you send to/receive from the outside word goes across it.


  • Side quest

    This week: I made a video, then I went on a tangent.

  • MT vessels: make some noise

    tl;dr MT300N-v2 and MT300A are both implemented

  • Ready for action

    Last week I said I was going to spend this week on fixing the 5GHz wireless suport and then put the GL-AR750 away and start working on some other device. Some of that happened …

  • Order, Order

    tl;dr for this week: I can browse the internet on an Android phone connected by wifi to my Liminix test device :-)

  • Tunnel Vision

    This week in Liminix: am happy to report that the rewritten PHRAM/tftpboot stuff almost worked first time, and the delta between first and second time was just a simple syntax error. The GL-AR750 boots :-)

  • on multiple fronts

    This week I have been dabbling on multiple fronts.

  • Taking stock

    I am pleased and proud to announce that Liminix has been awarded a grant from the NGI Zero Entrust fund administered by the NLnet Foundation - the overall objective being to turn it from something that runs my home internet into something that could run other people’s (yours? if you’re reading this, you’re probably the target audience) home/small office internet as well.

subscribe via RSS