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
KDE: 30 years of the Linux desktop (glt26) [not-audio_url] [/not-audio_url]

Duration: 45:47
None 2026 is the 30th anniversary of KDE. Thirty years is a remarkable milestone. This talk looks back at the history of the Linux desktop, with a special focus on KDE, revisiting our origins, examining the present, and…
Exploring Linux kernel in an 'Embedded' way (glt26) [not-audio_url] [/not-audio_url]

Duration: 42:37
None The Linux kernel source code is available publicly and can be downloaded by anyone. But the problem is - tens of thousands of files and millions of lines of code makes it hard for us to understand the Linux kernel b…
Lightning Talks (glt26) [not-audio_url] [/not-audio_url]

Duration: 46:11
None Kurzvorträge (max. 5 min) zu verschiedenen Themen. Quick talks (max. 5 min) about different topics. --- - Wenn Du einen Lightning Talk halten möchtest, dann melde Dich bitte via Email (lightning@linuxtage.at). - Um…
Raspberry Pi vs. Thin Client: Home Assistant optimal betreiben (glt26) [not-audio_url] [/not-audio_url]

Duration: 28:30
None Der Vortrag beleuchtet den praktischen Einsatz von Raspberry Pi und Thin Clients als Plattformen für Home Assistant. Anhand realer Beispiele wird gezeigt, wo der Raspberry Pi seine Stärken hat – und in welchen Szena…
Transitous - Free and Open Public transport routing (glt26) [not-audio_url] [/not-audio_url]

Duration: 24:33
None FOSS applications around public transport for the longest time were stuck with using proprietary and reverse engineered APIs from transport operators that could disappear at any point without notice, and which had a…
Implementing OCPP 1.6 CentralSystem for Fun and Profit (glt26) [not-audio_url] [/not-audio_url]

Duration: 23:57
None Starting with 2026 I gained access to an OCPP 1.6 conform EV WallBox. Thus I decided to implement a OCPP 1.6 based CentralSystem in Rust. As of today the system is able to handle all messages initiated by the Chargi…