Last weekend, I eagerly traveled to Berlin for the inaugural NixCon, a conference centered around the Nix package manager and declarative NixOS linux distribution.
Nix aims to make developing, building, and distributing software easier and more reliable by eschewing the normal “imperative” model of packaging, where installing and updating software can break other apps by interfering with common dependencies. Nix brings other advantages too. Such as enforced “total” dependency graphs that reduce the likelihood of builds breaking unpredictably and binary-caches, where the artefacts of builds are safely reused between machines.
Proceedings opened with Eelco Dolstra outlining the impressive growth that the Nix project has sustained in contributors and end-users. He ran through his plans for the project - an improved CLI interface, removing bottlenecks in Hydra (think large continuous integration tool building the universe and making the resulting builds available for everyone), and improving support for containers and cloud deployments.
What followed was a great series of talks from Nix contributors and users, nimbly explaining and demonstrating the possibilities for using Nix, and how it works under the hood.
One of the stand-out talks of the conference was Oliver Charles’ talk about the extensively used Nix and Hydra based development, deployment, and acceptance-testing workflow at Fynder. It was awesome hearing how adopting Nix and using it fully worked out so well.
At the end of Saturday, I gave my Lightning talk about how I use Yesod & Nix to QA our webhooks offering at Intercom. A small but interesting success story I think!
In total, NixCon was a lot of fun and a major success, jam packed with actionable information and tips. I’m greatly looking forward to the next one!