Reflashing your broadband router with Linux (e.g. DD-WRT, OpenWRT, Tomato or variants) gives you unparalleled flexibility to do things that the manufacturer probably hadn't thought of. Remembering what you did, six months later, is often trickier. NixWRT is a (currently experimental) collection of derivations using the Nix package system and bits of NixOS to build router and IoT device firmware images using the principles of declarativity and composability that are why we love Nix. This talk will give you an overview of how it works, some war stories about the challenges faced, and hopefully the data you need to to decide whether to try it yourself on your own hardware. --- Bio: Daniel Barlow has been using Linux since kernel 0.99 (Slackware and MCC-Interim), and has never really adjusted as computing has moved on. Playing with resource-limited systems like routers and IoT devices helps him pretend it's still 1995. Since then he's programmed professionally in Perl, Common Lisp and Ruby, and played with Clojure and Nix. Most likely to say: ""try looking at it with {strace, wireshark}?"" Least likely to say: ""just buy a closed-source solution from an enterprise vendor"" |