This week^Wfortnight I’ve added a liminix-rebuild command. It uses min-copy-closure to copy the systemConfiguration closure onto the device, then copies the activate binary (and some other bits) into /persist. Then it reboots the device, and the next time it comes up it will run the new activate.

It’s not the full generational NixOS experience, but it’s not nothing either.

I also spent some time bringing the User Manual up to date so that it describes how to build an updatable system and for balance why you might not want to. The manual is now a CI job, so it gets published to the web site on every change.

Next time

liminix-rebuild has significantly eased development friction: it’s now convenient to talk to the device over SSH and I can install new packages/ update config without TFTPing 12MB images every time. So, it’s time to turn my attention to rotuer.nix and make it a bit less shonky:

  • support IV6 with prefix delegation

  • make the firewall less crufty

  • install iperf and look at the wlan config properly