Thursday - March 6th, 2025
Room 1
Opening Ceremony
Fireside Chat with Kelsey Hightower & Ron Efroni: An Outsider's Look at Nix
We've all heard the usual insider talks about Nix. This session flips the script. Ron Efroni will lead a candid fireside chat with Kelsey Hightower, known for his pioneering work on Kubernetes, as we dive into his journey discovering Nix. Expect blunt takes on where Nix gets it right, where it needs a reality check, and what lessons from container orchestration might apply. If you're curious about the raw, unfiltered truth of Nix's present and future, don't miss it.
The Nix PR Pipeline
A detailed explanation of how pull requests are staged and trickle into the different channels in Nixpkgs and NixOS.
Break
Docker Was Too Slow, So We Replaced It: Nix in Production
Kubernetes means containers - but container images stop scaling once you hit 25+ GB, even if you're building them with Nix. Learn how Anthropic took production startup times from minutes to sub-second with a multi-level, replicated cache hierarchy. We'll deep dive into nix-sidecar: our custom tool to escape Docker, replacing slow image pulls with highly-parallel native Nix fetches, cached on every node. This talk is for anyone interested in faster deploys or advanced Nix usage!
How to make Nix five times faster
I have a confession: I love Nix. So much so, that I want to use it to build all my software. But there's a catch - why is Nix so slow? My search for answers began with a bash loop run amok, and ends with Fantail - a new frontend development server powered by Nix and Haskell, with builds 5x faster than the Nix CLI. If you've ever looked up at the sky and wondered if it's possible to use the Nix C++ interface to cache Flake inputs in-memory, this is the talk for you. If not, come along anyway!
Lunch
Nix in the Wild
Nix in the Wild is a series where we interview users of Nix and ask them about their journey. We want to know about the good moments and the bad, and we want to tell it like it is. What makes users choose Nix? How long does it take for them to get their colleagues onboard? What do they learn along the way? In this quick talk, Ross from Flox will go over a few of the most amazing stories from Nix in the Wild (rawr!)...and let you know how we can help you tell yours.
Using /opt/store
Exploring the pros-cons of a non-/nix prefix.
Break
Charming wild snakes with pyproject.nix & uv2nix
Pip, Conda, Poetry, and now, the Rust-based Uv. Python is a complex ecosystem fraught with pitfalls, fragmentation & historic legacy. Nix provides a unifying way to deal with complex software environments. However, language integration tooling for Python has been lacking. In this talk we'll explore pyproject.nix & uv2nix to wrangle everything from simple projects using requirements.txt & pyproject.toml to complex applications and monorepos.
Nix is faster than no evaluation
Evaluating packages with big dependency trees with nix is time consuming. Currently, while there is a local eval cache, evaluation costs are sum up locally but also globally as eval caches are generally not shared across machine or user boundaries. In other places such as searching packages, evaluation is impossible, prohibitively expensive, or just annoying. In this talk I want to introduce different approaches to avoid evaluations, how they are motivated and what their limits are.
Break
Lightning Talks
Room 2
Learn Nix the Fun Way
Learning Nix can be off-putting, as many introductions dive into complex terminology and academic concepts, missing the chance to simplify Nix's advantages. Having given talks both internally and externally, I've shifted to showcasing fun, practical examples first, leaving the nuances for later. Join me to see some straightforward examples of what Nix can offer and why it might be worth adopting.
Speed Dating
Not actually dating, but a fast way to meet other conference attendees.
generating secrets with nixos, the missing puzzle piece
There are a lot of different secret management technologies around nixos, like sops-nix, agenix, etc. All of them still require to manually generate and encrypt secrets though. So we are happy to announce the missing piece to have full declarative services with zero user interaction: NixOS vars (name will maybe change :))
Building Linux from Scratch... from Nix
Nix is a powerful build system that enhances and simplifies software development workflows. 'Linux from Scratch' is a well-known guide to building a customized Linux operating system from source, designed for gaining a deeper understanding Linux system internals. In this talk, we will share the journey of using Nix to build Linux from Scratch, as well as the challenges faced, insights gained, and epiphanies discovered along the way.
Lunch
Introduction to the Module System
Curious about the Nix module system but don't know where to start? This talk introduces the core concepts and basics of the Nix module system, designed for those new to Nix. We'll break down how it works, why it's so powerful for declarative configuration, and how you can start using it for your own projects. No prior experience is required—just a willingness to explore and learn!
Mastering NixOS Integration Tests: Advanced Techniques for Fast and Robust Multi-VM Tests
Join this hands-on workshop to explore the powerful NixOS Integration Test Driver! In just two hours, learn to simulate complex networked environments with multiple hosts and virtual networks, use the interactive mode for debugging, and apply best practices to avoid flaky tests. Perfect for enhancing your NixOS testing skills and streamlining CI/CD pipelines. Don't miss this chance to boost your expertise with reliable, real-world testing techniques!
Friday - March 7th, 2025
Room 1
Opening Ceremony
Flox as a Guided Path for Nix
Flox aims to simplify software delivery by leveraging Nix. This presentation explores lessons from years of building developer tools and cloud-native systems. Discover how Nix is the key building block, addressing complexities in modern application delivery. The talk emphasizes a guided path for adoption, enabling teams to modernize without needing a Nix expert in every department. Dive into the underlying mindset of Flox's approach to evolving software practices for a simpler experience.
Adventures in Mesh Networking at DEF CON with NixOS
At DEF CON 32, a few friends pushed binary caching on NixOS to its limits. Thanks to a generous hardware donation by Protectli, we managed to get a mesh network of binary cache servers running in our backpacks, with Nebula mesh VPN and 802.11s mesh WiFi running between them using TPMs for key exchange. We see a future where trustworthy software can be built and fetched from nearly anywhere, and every device can be a node in a swarm of Nix binary caches. Follow along as we build a true edge CDN!
Building a Chromebook replacement with NixOS
As Linux users, we often install Linux for friends and family, but many struggle with updates, packaging quirks, and system maintenance—leaving you to fix issues and them frustrated. Instead of simply suggesting they get a Chromebook, what if we could create a similar experience with NixOS? My Nixbook project delivers automatic updates, easy Flatpak app installs, and sane defaults for everyday users. In this talk, I'll share how I built it and made it work flawlessly.
A Sustainable Nix, State of the Union
Lets explore how to ensure the sustainability of the Nix ecosystem with community leads including the SC and Foundation. We will dive into what it takes to create and maintain a robust, reliable environment for years to come. Covering the community's milestones in 2024, from infra to governance, and about both the hard-won lessons and the innovations shaping Nix's future.
Remote Nix Builds
Nix has builtin support for distributing builds to remote machines. In fact, any SSH-accessible computer with a Nix installation can be used as a build server! In this talk, I'll give an overview on how remote Nix builds work in practice, and talk about their possibilities and limitations. I'll also lift the lid on Nix and show how the remote builder protocol works. Finally I'll mention some improvements I'd like to see in Nix, based on my experience on implementing the nixbuild.net service.
Lunch
Tvix store in production
Replit.com is website used by millions of users to collaboratively create software with their teammates and now with Replit's AI Agent. Replit uses Nix to manage the underlying development environments. When building a Nix environment, downloading files from cache.nixos.org can take a long time, and many files would be duplicated across Repls. In this talk, I will show how Replit uses Nix local-overlay-stores to manage Nix caching, as well as our new cache disk architecture using tvix-store.
Configurable Flakes
Flakes are a way to share Nix artifacts in a reproducible, composable and discoverable way. A major limitation of flakes right now is that they are not *configurable*: there is no easy way to pass arguments to a flake from the command line. In this talk, I describe an extension of flake schemas that make flakes configurable in a way that preserves discoverability, hermetic evaluation and evaluation caching. This addresses a major blocker in the adoption of flakes.
Unconference
Closing Ceremony
Room 2
Workshop - Intro to Nix
Python on Nix? Yes, it is possible!
Want to leverage the powerful features of the Nix ecosystem, but you don't want to learn the Nix programming language? This talk will show you how you can use Python and the python-nix library to easily create Nix packages in a way that it is appealing for both Nix and Python programmers.
Lunch
Evaluating the Nix Evaluator: Why Nix Performance Sometimes... Doesn't
Nix evaluation performance is a known, long-standing issue to the community. This talk will cover a benchmarking setup, concessions to that setup made to retain the author's sanity, and ways to improve evaluation performance and their trade-offs.
Sandstone: Fast incremental Haskell builds using dynamic derivations
So far, efforts to use Nix as a build system have suffered from either insufficient incrementality or excessive evaluation time. Sandstone is a new tool to plan Haskell builds using Nix that achieves full incrementality without affecting eval times at all. It does this by using the new experimental "dynamic derivations" to create fine-grained build steps without involving the Nix language *at all*. We hope that Sandstone will kick of a new era of language-specific tooling using Nix!