NixCon NA 2024 Pasadena

March 14 – 15, 2024

Workshops (Room 106)

Start of Day 1

09:15 AM
09:30 AM

A Quick Introduction to Nix

Tom Bereknyei, Rok Garbas - Workshop

This session will contain an introduction to Nix for the uninitiated. You will leave with an understanding of the basics and, perhaps, the beginning of a lifetime of love for Nix. We will cover installation, use of the CLI, and the basics of the Nix language.

11:00 AM

Managing your Userland with Home-Manager

Jacek Galowicz, Marijan Petricevic - Workshop

Unleash the full potential of your user environment with the "Portable Userlands with Home-Manager" workshop. Discover how to use Home-Manager to create reproducible, portable configurations for your applications and tools. Ideal for Nix users who want to personalize and efficiently manage their desktop across multiple systems.

For all Nix(OS) users who are not afraid of writing configuration files in the Nix language.

Lunch Break12:30 PM - 01:30 PM

01:30 PM

Basic NixOS Modules

Daniel Baker - Workshop

We've all been there. We start playing with our NixOS config and see a cool blog post about modularizing your config. That would be so cool! ... wait how do modules work? The documentation is pretty sparse. And those "beginner" blog posts about modules are so beginner friendly.

So we are going to play with and build our own modules. But we aren't going to build packages; our output is going to be plain text. We are going to see and feel how each of our options influences the output.

03:00 PM

Continuous Integration Hands-On

Ryan Trinkle, John Ericson - Workshop

Add state of the art continuous integration (CI) to your project. With Nix, CI not only enhances code quality, it also provides automatic binary caching, speeding up development and deployment. We'll cover the basics, gotchas, and tips and tricks for CI in Nix-based projects, and then help you apply them to your own project. Mentors will be available to help work through any issues you encounter. Our goal is for everyone to leave the workshop with a fully set up CI process in production.

If you're thinking of attending, we'd love your input on the topics you're most interested in covering at this workshop. If you have a minute, please let us know by filling out this form: https://docs.google.com/forms/d/e/1FAIpQLSdl4YArAWxHcjQAZcAj0hmgrJN7TBFoyh2DiM9fPgFYivtAwA/viewform

04:30 PM

Lightning Talks

Lightning talks

Talks will be strictly limited to 5 minutes.

09:00 PM

Karaoke @ The Boulevard

Karaoke

This is not actually at the conference, but we're going out and we're going to tear up a karaoke stage.

3199 E Foothill Blvd Pasadena, CA 91107

Talks (Room 101)

Start of Day 2

09:15 AM
09:30 AM

Nix is a better Docker image builder than Docker's image builder

Xe Iaso - Talk

Docker is everywhere, but Nix is not. Nix lets you build Docker images that are easier to deploy than images made with the normal Docker build flow. Want to learn how to make images with a 100% build efficiency and turn your application deployments from pushing many layers at a time to only pushing what actually changed? You can do it with Nix.

10:00 AM

Lessons learned developing systemd in stage 1

Will Fancher - Talk

When NixOS boots up, the first userspace code that the Linux kernel runs is called "stage 1". Its main job is to configure the file systems used by the OS before starting it. This can get quite complicated, and systemd is here to help.

I will describe the goals of rewriting stage 1 to use systemd. I will also talk about how these seemingly small choices, like how to handle the first few seconds of boot, or the choice of my online username, can have unexpectedly significant results.

10:30 AM

Easier NixOS self-hosting with module contracts

Pierre Penninckx - Talk

The Nix ecosystem is a game changer for self hosting.

Dependency management, deployment tooling, secret management, rollbacks, NixOS modules, systemd integration, unit and NixOS VM tests all come together thanks to the Nix language to help us serenely deploy and maintain self hosted applications.

This talk shows how standardizing NixOS options for modules achieving the same goal (SSO, backup, etc.) can move Nix one step forward to be an industry leader in the Server Management tooling space.

Break11:00 AM - 11:30 AM

11:30 AM

Substituters and remote builders

Tom Bereknyei - Talk

Presenting low barrier of entry methods to use Nix caching and substituters.

12:00 PM

Building Robots with Nix and Bazel

Badi' Abdul-Wahid - Talk

Or: on the importance of overlays when targeting a heterogeneous set of platforms in a monorepo.

We build software for multiple target platforms -- bare metal, embedded aarch64, Windows, and x86_64. Each may require a different set of toolchains, tooling, and libraries, which we provide with Nix via custom overlays.

In this talk I will cover

  1. Our motivations for using Nix and Bazel
  2. The role of overlays in our build system
  3. A retrospective on what we've learned

Lunch Break12:30 PM - 01:30 PM

01:30 PM

Nix State of the Union 2024

Ron Efroni Rotman - Talk

Cover the dynamic landscape of Nix's growth, innovation, and future possibilities. This session will provide a comprehensive overview of the major milestones Nix has achieved over 2023 from key leads in the community and the foundation board members, the challenges we've faced, and the exciting developments on the horizon.

02:00 PM

The case for Nix on the home server

Samir Rashid, Anthony Tarbinian - Talk

Why is Nix a good choice for a home server? Learn how Nix enables maintenance free, secure, and reproducible home servers. The talk will cover why Nix is a powerful choice compared to other technologies like Docker or Ansible. It will also showcase how Nix makes it easy to get up and running with server applications such as Nginx, Wireguard, Jellyfin, Samba, and more.

02:30 PM

[High|Low]Lights of Adopting Nix at Looker (Google GCP)

Farid Zakaria, Micah Catlin - Talk

A look at our adoption of Nix at Looker, now Google GCP. I will go over the setup, adoption, broader community, and challenges.

03:00 PM

UnConference

Unconference

Pick a topic and grab some people to go talk about it. There's not much structure here. That's the point!

05:00 PM