March 6th-7th, 2025 @ Pasadena, CA

at the Southern California Linux Expo (Mar 6th - 9th)

Thursday - March 6th, 2025

Room 1

09:15 - 09:30

Opening Ceremony

09:30 - 10:00

Fireside Chat with Kelsey Hightower & Ron Efroni: An Outsider's Look at Nix

Ron Efroni Rotman Kelsey Hightower

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.

10:00 - 10:30

The Nix PR Pipeline

Tristan Ross

A detailed explanation of how pull requests are staged and trickle into the different channels in Nixpkgs and NixOS.

10:30 - 11:00

Break

11:00 - 11:30

Docker Was Too Slow, So We Replaced It: Nix in Production

Aneesh Agrawal

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!

11:30 - 12:00

How to make Nix five times faster

Nick Johnstone

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!

12:00 - 13:30

Lunch

13:30 - 14:00

Nix in the Wild

Ross Turk

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.

14:00 - 14:30

Using /opt/store

Thomas Bereknyei

Exploring the pros-cons of a non-/nix prefix.

14:30 - 15:00

Break

15:00 - 15:30

Charming wild snakes with pyproject.nix & uv2nix

Adis Bladis

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.

15:30 - 16:00

Nix is faster than no evaluation

Yannik Sander

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.

16:00 - 16:30

Break

16:30 - 17:30

Lightning Talks

Room 2

10:00 - 10:30

Learn Nix the Fun Way

Farid Zakaria

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.

10:30 - 11:00

Speed Dating

Not actually dating, but a fast way to meet other conference attendees.

11:00 - 11:30

generating secrets with nixos, the missing puzzle piece

Lassulus N/A Kenji Berthold

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 :))

11:30 - 12:00

Building Linux from Scratch... from Nix

Tim Golden

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.

12:00 - 13:30

Lunch

13:30 - 15:00

Introduction to the Module System

Daniel Baker

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!

15:00 - 16:30

Mastering NixOS Integration Tests: Advanced Techniques for Fast and Robust Multi-VM Tests

Jacek Galowicz

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

09:15 - 09:30

Opening Ceremony

09:30 - 10:00

Flox as a Guided Path for Nix

Michael Stahnke

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.

10:00 - 10:30

Adventures in Mesh Networking at DEF CON with NixOS

Morgan Jones

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!

10:30 - 11:00

Building a Chromebook replacement with NixOS

Mike Kelly

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.

11:00 - 11:30

A Sustainable Nix, State of the Union

Ron Efroni Rotman

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.

11:30 - 12:00

Remote Nix Builds

Rickard Nilsson

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.

12:00 - 13:30

Lunch

13:30 - 14:00

Tvix store in production

Victor Fuentes

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.

14:00 - 14:30

Configurable Flakes

Eelco Dolstra

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.

14:30 - 16:30

Unconference

16:30 - 16:45

Closing Ceremony

Room 2

09:30 - 11:00

Workshop - Intro to Nix

11:30 - 12:00

Python on Nix? Yes, it is possible!

Matteo Fusi

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.

12:00 - 13:30

Lunch

13:30 - 14:00

Evaluating the Nix Evaluator: Why Nix Performance Sometimes... Doesn't

Connor Baker

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.

14:00 - 14:30

Sandstone: Fast incremental Haskell builds using dynamic derivations

John Ericson

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!