NixCon 2023

Rust + Nix: More than the sum of their parts?
09-09, 11:50–12:15 (Europe/Berlin), Lecture hall (Room 122)

Rust is a programming language with a knack for ergonomics in a space where robustness, correctness, and speed often come at the cost of many papercuts. Nix is a project focused on building software in a robust, correct, and deterministic way. These two projects should be best friends, right? In this talk Zach Mitchell from flox and the Documentation Team will give an experience report writing Rust bindings for Nix. What makes bindings difficult? Which bindings can be autogenerated? Which can (or should) be written by hand? Tune in to find out what went well, what was painful, and what didn't work at all.

Do you allow your talk to be recorded? – yes What level of experience in Nix is the talk addressed to?


Zach is an Engineer at flox, a member of the Nix Documentation Team, and the lead of the Learning Journey Working Group. Zach is pretty new to Nix, but has been writing Rust since 2018.

In a previous life Zach built lasers and did quantum mechanics simulations, but now he builds software with Rust and Nix. Zach has always had a knack for teaching, receiving multiple teaching awards during his PhD. This knack stems from an empathy for the struggles of new users of any technology. Enabling engineers and tinkerers alike to get things done or scratch their own itch has always been a joy for Zach.

In his free time Zach enjoys a good bike ride on either the road or a rocky mountain trail. He's also an avid disc golfer, an amateur whiskey sommelier, and a huge Dungeons & Dragons nerd.