NixCon 2025

You can't spell "devshell" without "hell"
2025-09-05 , Lecture Hall

Ever wondered how “nix develop” works? What kind of arcane horrors make our reproducible developer environments work? In this talk we’ll begin by explaining how “nix develop” works, then we’ll use that understanding to explore what it looks like to create an improved devshell experience, including improved startup times, extension to shells other than Bash, and adding packages without needing to exit and re-enter the shell. Along the way we’ll discuss some of the cursed idiosyncrasies of different shells, and some of the patterns for working around them. In the end we’ll all need therapy, but we’ll know more about how our shells are conspiring against us and why we should all be using Fish.

I'm a man of many talents, some of which are useful. I'm an engineer at Flox working on the CLI. I'm also the Official Flox Meme Lord. I did a PhD in physics building femtosecond pulsed lasers and doing quantum mechanics simulations. I did a stint on the Nix Documentation Team. I'm an amateur curler (like the Olympic sport) and Flox sponsored my team. I'm program chair for Planet Nix. I never know where my circus of a life is going to take me next.