Nix and buck2: from enemies to lovers with snowydeer (lixcon2026)

Nix and buck2: from enemies to lovers with snowydeer (lixcon2026)

Author: CCC media team April 17, 2026 Duration: 25:29
Nix does dependencies and distribution well, but has a controlling personality: it wants to build everything in the build graph. Buck2 delivers fast, user-friendly, and scalable project builds, but has an equally controlling personality and a lacking public dependency ecosystem. What if their build graphs touched ... and they were both girls? In this talk, I will demonstrate how we go from Nix to buck2 to Nix then deploy with containers: * Using Nix for dependencies in buck2 * Using buck2 in the project build: remote caching, fast builds, ~zero evaluation time * Importing store paths to Lix from buck2 output while correctly handling dependencies * Extending these techniques to build Docker images defined entirely in buck2, using nixpkgs `dockerTools` This talk focuses on buck2, but the techniques used apply to any powerful non-Nix build system. Hermetic build systems are hard to interoperate with, but there are cheat codes: by resolving their trust issues, you can combine their respective benefits. For the last year, my team and I have been working on a Buck2 migration for one of the largest Haskell codebases in industry to reduce build times from dozens of minutes to seconds and improve user experience. We use Nix to orchestrate hundreds of Haskell dependencies and hundreds more dependencies across the Rust, TypeScript, Python and C ecosystems. On top of that, we are running a much newer Haskell compiler than most of the industry due to active involvement in GHC development, which means a *heavily* patched nixpkgs Haskell dependency set to be able to incorporate these improvements. By building a Nix-Buck2-Nix sandwich, we were able to focus on rewriting our product build in buck2 while keeping both our Nix-based dependencies and our deployment pipelines to both NixOS and AWS ECS completely as-is. The novel contributions of this talk are: * Creating full-featured store paths *entirely* outside of Nix with Snowydeer: * Reference scanning outside of Nix using ripgrep * Using a new Lix CLI feature: output-addressed paths with references * Referencing those store paths from Nix language for further processing * Using Nix as a build step rather than a build driver to create an ergonomic Docker image builder with Snowydeer Container This talk builds on previous work, such as: - ["Integrating Nix and Buck2 for fun and profit"](https://www.youtube.com/watch?v=pDkFk7iggIE) by Claudio Bley - ["Haskell Builds at Scale: Comparing Bazel and Buck2"](https://www.youtube.com/watch?v=eA-3Gfr4epU) by Andreas Herrmann - ["Towards Dream Haskell Build Experience"](https://www.youtube.com/watch?v=WrdXUYFnRv4) by Ian-Woo Kim Licensed to the public under http://creativecommons.org/licenses/by/4.0 about this event: https://pretalx.dgnum.eu/lixcon-2026/talk/Z3CRCM/

Tune into the Chaos Computer Club-recent events feed for a direct line to the forefront of digital culture and critical technology discourse. Curated by the CCC media team, this podcast channels the raw, insightful atmosphere of Europe's most influential hacker association, bringing you recordings from their major gatherings and community events. Each episode is a deep dive into talks and presentations from the last two years, covering topics from cryptography and privacy rights to hardware hacking, societal impacts of surveillance, and open-source philosophy. You'll hear from researchers, activists, and engineers who are actively shaping our digital future, offering perspectives rarely found in mainstream tech conversations. This isn't a produced show with hosts; it's an archival audio stream of genuine conference sessions, complete with audience questions and the spontaneous energy of the live event. For anyone interested in the technical details and ethical debates at the heart of modern technology, this feed serves as an essential, unfiltered resource. Subscribe to this podcast to keep your finger on the pulse of the Chaos Computer Club's ongoing dialogue, where complex ideas are broken down and the tools for a more empowered digital life are openly discussed.
Author: Episodes: 100

Chaos Computer Club - recent events feed
Podcast Episodes
Live-Beaterkennung in Musik (eh23) [not-audio_url] [/not-audio_url]

Duration: 1:06:55
Wie funktioniert eigentlich musikalische Beaterkennung? Ich habe einen Algorithmus entwickelt, um aus Live-Audio-Input ein "Metronom-artiges" Taktsignal (MIDI-Clock) zu erzeugen, das auch bei Tempowechseln noch mitkommt.…
Let's Make All Data Interoperable (eh23) [not-audio_url] [/not-audio_url]

Duration: 31:39
Cory Doctorow argues that fighting the Enshittification of the world involves making data and software more interoperable, in order to reduce switching costs from centralized Big-Tech platforms. But even making data form…
RoboCup: Wettkampf, Forschung und die Zukunft der Robotik (eh23) [not-audio_url] [/not-audio_url]

Duration: 34:37
Seit über 25 Jahren ist der RoboCup eine der wichtigsten Plattformen für Robotikforschung und Nachwuchsförderung. Er kombiniert den spielerischen Wettkampf mit echter Wissenschaft und bringt Schüler:innen, Studierende un…
How I reverse engineered my tablets' camera driver (deutsch) (eh23) [not-audio_url] [/not-audio_url]

Duration: 21:37
In diesem Vortrag beleuchte ich den Prozess des Reverse Engineerings des Kamera-Treibers meines Tablets. Dies beinhaltet einen Deep Dive in die Welt von ACPI, Register-Dumps und die Kernel-Entwicklung. -- In this talk I…
Nützliche Mikrofontechnik für bessere Präsentationen (eh23) [not-audio_url] [/not-audio_url]

Duration: 32:04
Präsentationen vor größerem Publikum oder Präsentationen, die aufgenommen werden, brauchen quasi immer ein Mikrofon irgendeiner Art. In dieser Präsentation zeigen wir euch übliche Probleme, die Vortragende mit Mikrofonen…
Testing-Elevator (eh23) [not-audio_url] [/not-audio_url]

Duration: 55:59
Abseits des bekannten Unittests gibt es noch mehr - eine Technikdemonstration auf verschiedenen Testebenen. Testen ist wichtig und verhindert schwerwiegende Fehler. Der Fokus kann hierbei verschieden granular bzw. abstra…
eh23 Opening (eh23) [not-audio_url] [/not-audio_url]

Duration: 41:05
Willkommen im Kaninchenbau. Oder dem, was ihr dafür haltet. Wir eröffnen das Event mit einer dringenden Systemwarnung: Das Maskottchen ist ein Bug, keine Eigenschaft. In diesem Opening klären wir die Regeln der Simulatio…
Reproducible Linux Systems with Nix & NixOS (clt26) [not-audio_url] [/not-audio_url]

Duration: 43:04
Did you ever try to do something on Linux, ask for advise and heard: “But it works on my machine”? Usually what follows is a long and tedious debugging session, just to find that a dependency has been forgotten somewhere…
Let's Talk About Sex – Programme züchten mit Evolution (clt26) [not-audio_url] [/not-audio_url]

Duration: 56:58
Die Evolution ist ein erstaunlich effizientes Optimierungsverfahren. Immerhin hat es alle Lebewesen und auch uns aus dem Nichts erschaffen. Mit simulierter Evolution kann man das Prinzip erfolgreich auf viele andere Aufg…
Galera-Cluster mit Docker: Architektur und Betrieb (clt26) [not-audio_url] [/not-audio_url]

Duration: 38:11
In diesem Vortrag zeige ich den vollständigen Aufbau eines MariaDB-Galera-Clusters in Docker-Containern auf Basis von Docker-Compose. Schritt für Schritt wird erklärt, wie die Compose-Files strukturiert und konfiguriert…