{"acronym":"nixcon2025","aspect_ratio":"16:9","updated_at":"2026-04-12T15:15:05.080+02:00","title":"NixCon 2025","schedule_url":"https://talks.nixcon.org/nixcon-2025/schedule/export/schedule.xml","slug":"conferences/nixcon/nixcon2025","event_last_released_at":"2025-09-20T00:00:00.000+02:00","link":"https://2025.nixcon.org","description":"","webgen_location":"conferences/nixcon/nixcon2025","logo_url":"https://static.media.ccc.de/media/events/nixcon/2025/nixcon2025_icon.png","images_url":"https://static.media.ccc.de/media/events/nixcon/2025","recordings_url":"https://cdn.media.ccc.de/events/nixcon/2025","url":"https://api.media.ccc.de/public/conferences/nixcon2025","events":[{"guid":"1611cc30-729c-4a8a-88ac-b0529b2255b5","title":"garn: A Faster, Friendlier Nix in TypeScript","subtitle":null,"slug":"nixcon2025-56378-garn-a-faster-friendlie","link":"https://talks.nixcon.org/nixcon-2025/talk/RJSMCA/","description":"Nix is a powerful tool, but it also comes with some well-known problems: a steep learning curve, bad error messages, and slow evaluation. What if we could solve these three problems in one stroke?\n\ngarn is an experiment in doing just that. With garn, you define derivations with TypeScript instead of in the Nix language. TypeScript is familiar to most developers, well-documented, and supported by rich editor tooling - thus lowering the learning barrier. And instead of stack traces, you mostly get (much nicer) type errors.\n\ngarn also rethinks the CLI, clarifying the core user-facing concepts in Nix, and how they relate to one another. What exactly is a devshell? A check? A NixOS configuration? What operations make sense with them? By thinking of these as first-class objects instead of \"just derivations\", garn makes the UX more approachable, and more powerful.\n\nThe currently-released version of garn generates Nix code, which means we still incur the cost of (often slow) Nix evaluation. But we are working on a second version which ditches Nix evaluation altogether, and uses Nix only to build .drv files. This opens the door to substantial speed improvements, with techniques such as pre-evaluating Nix (FFI) code, caching evaluation in a finer-grained way, async IFD, and even using WASM as an alternative to IFD.\n\nThis talk will show how garn works both above and under the hood. It's aimed at anyone interested in making Nix faster and more accessible.","original_language":"eng","persons":["Julian Kirsten Arni"],"tags":["56378","2025","nixcon2025","Aula","nixcon2025-eng"],"view_count":109,"promoted":false,"date":"2025-09-06T16:25:00.000+02:00","release_date":"2025-09-18T00:00:00.000+02:00","updated_at":"2026-04-05T22:15:06.396+02:00","length":1506,"duration":1506,"thumb_url":"https://static.media.ccc.de/media/events/nixcon/2025/56378-1611cc30-729c-4a8a-88ac-b0529b2255b5.jpg","poster_url":"https://static.media.ccc.de/media/events/nixcon/2025/56378-1611cc30-729c-4a8a-88ac-b0529b2255b5_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/nixcon/2025/56378-1611cc30-729c-4a8a-88ac-b0529b2255b5.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/nixcon/2025/56378-1611cc30-729c-4a8a-88ac-b0529b2255b5.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/nixcon2025-56378-garn-a-faster-friendlie","url":"https://api.media.ccc.de/public/events/1611cc30-729c-4a8a-88ac-b0529b2255b5","conference_title":"NixCon 2025","conference_url":"https://api.media.ccc.de/public/conferences/nixcon2025","related":[]},{"guid":"9149f103-c631-4693-8cc8-0757bbe676f0","title":"Recreational Receipt Printing","subtitle":null,"slug":"nixcon2025-56384-recreational-receipt-pr","link":"https://talks.nixcon.org/nixcon-2025/talk/WNQEA8/","description":"I bought a receipt printer on eBay for $50, and it is one of the best purchases I've ever made. Here's how I packaged the drivers for Nix, how I legitimately use it in my every day life, and some significantly sillier Nix-related uses.","original_language":"eng","persons":["Lillith \"Infinidoge\""],"tags":["56384","2025","nixcon2025","Aula","nixcon2025-eng"],"view_count":55,"promoted":false,"date":"2025-09-06T19:00:00.000+02:00","release_date":"2025-09-18T00:00:00.000+02:00","updated_at":"2026-04-05T22:45:06.818+02:00","length":309,"duration":309,"thumb_url":"https://static.media.ccc.de/media/events/nixcon/2025/56384-9149f103-c631-4693-8cc8-0757bbe676f0.jpg","poster_url":"https://static.media.ccc.de/media/events/nixcon/2025/56384-9149f103-c631-4693-8cc8-0757bbe676f0_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/nixcon/2025/56384-9149f103-c631-4693-8cc8-0757bbe676f0.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/nixcon/2025/56384-9149f103-c631-4693-8cc8-0757bbe676f0.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/nixcon2025-56384-recreational-receipt-pr","url":"https://api.media.ccc.de/public/events/9149f103-c631-4693-8cc8-0757bbe676f0","conference_title":"NixCon 2025","conference_url":"https://api.media.ccc.de/public/conferences/nixcon2025","related":[]},{"guid":"427fa82f-ffa3-4629-bf12-5a4205e58b5a","title":"Nix as a solution to embedded linux","subtitle":null,"slug":"nixcon2025-56392-nix-as-a-solution-to-em","link":"https://talks.nixcon.org/nixcon-2025/talk/YGL3MV/","description":"In this talk we go over how we leveraged Nix to build our new Katla synthesizer. We go through setting up development environment, CICD, Linux kernel optimizations, cross-platform compilation and other steps that make Nix a standout solution when building hardware products with a team distributed around the globe.","original_language":"eng","persons":["Óli"],"tags":["56392","2025","nixcon2025","Lecture Hall","nixcon2025-eng"],"view_count":131,"promoted":false,"date":"2025-09-06T16:40:00.000+02:00","release_date":"2025-09-18T00:00:00.000+02:00","updated_at":"2026-04-05T19:00:06.457+02:00","length":1074,"duration":1074,"thumb_url":"https://static.media.ccc.de/media/events/nixcon/2025/56392-427fa82f-ffa3-4629-bf12-5a4205e58b5a.jpg","poster_url":"https://static.media.ccc.de/media/events/nixcon/2025/56392-427fa82f-ffa3-4629-bf12-5a4205e58b5a_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/nixcon/2025/56392-427fa82f-ffa3-4629-bf12-5a4205e58b5a.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/nixcon/2025/56392-427fa82f-ffa3-4629-bf12-5a4205e58b5a.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/nixcon2025-56392-nix-as-a-solution-to-em","url":"https://api.media.ccc.de/public/events/427fa82f-ffa3-4629-bf12-5a4205e58b5a","conference_title":"NixCon 2025","conference_url":"https://api.media.ccc.de/public/conferences/nixcon2025","related":[]},{"guid":"0b9843ed-8c94-40d6-9c9d-8b1dc8029343","title":"A field guide to Nix at the Corporate","subtitle":null,"slug":"nixcon2025-56393-a-field-guide-to-nix-at","link":"https://talks.nixcon.org/nixcon-2025/talk/3RHWND/","description":"In this most remarkable presentation, I chronicle my extensive explorations through the untamed wilderness of enterprise landscape and the experiences of applying Nix within said corporate domain.\n\nThe audience shall discover the arcane rituals of cargo cults development, learn to navigate the treacherous waters of organisational silos and master the craft of sanctifying Nix usage. Like a seasoned naturalist cataloging the flora and fauna of some newly discovered archipelago, I have meticulously documented the peculiar behaviors of people unfamiliar with Nix, the resistance patterns towards making the effort to learn it, and the curious customs of playing the responsibility ping-pong.\n\nThis tongue-in-cheek talk aims to share a collection of arguments and concrete actions one can make, to convince others to use Nix at their workplace. The rebuttal of frequent misconceptions (Docker makes nix not needed) included.","original_language":"eng","persons":["Aleksander Gondek"],"tags":["56393","2025","nixcon2025","Lecture Hall","nixcon2025-eng"],"view_count":122,"promoted":false,"date":"2025-09-06T17:10:00.000+02:00","release_date":"2025-09-18T00:00:00.000+02:00","updated_at":"2026-03-24T18:00:05.968+01:00","length":1534,"duration":1534,"thumb_url":"https://static.media.ccc.de/media/events/nixcon/2025/56393-0b9843ed-8c94-40d6-9c9d-8b1dc8029343.jpg","poster_url":"https://static.media.ccc.de/media/events/nixcon/2025/56393-0b9843ed-8c94-40d6-9c9d-8b1dc8029343_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/nixcon/2025/56393-0b9843ed-8c94-40d6-9c9d-8b1dc8029343.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/nixcon/2025/56393-0b9843ed-8c94-40d6-9c9d-8b1dc8029343.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/nixcon2025-56393-a-field-guide-to-nix-at","url":"https://api.media.ccc.de/public/events/0b9843ed-8c94-40d6-9c9d-8b1dc8029343","conference_title":"NixCon 2025","conference_url":"https://api.media.ccc.de/public/conferences/nixcon2025","related":[]},{"guid":"ea3351e8-4aed-4a40-8326-fcf6aa0913c4","title":"NixOS Mediation - a free mediation service","subtitle":null,"slug":"nixcon2025-56399-nixos-mediation-a-free","link":"https://talks.nixcon.org/nixcon-2025/talk/CDU788/","description":"Presenting https://nixos-mediation.org/\nwhat it is, how you can benefit from it, and a small retro.","original_language":"eng","persons":["Jonas Chevalier (zimbatm)"],"tags":["56399","2025","nixcon2025","Aula","nixcon2025-eng"],"view_count":27,"promoted":false,"date":"2025-09-05T13:40:00.000+02:00","release_date":"2025-09-19T00:00:00.000+02:00","updated_at":"2026-03-25T13:15:05.874+01:00","length":401,"duration":401,"thumb_url":"https://static.media.ccc.de/media/events/nixcon/2025/56399-ea3351e8-4aed-4a40-8326-fcf6aa0913c4.jpg","poster_url":"https://static.media.ccc.de/media/events/nixcon/2025/56399-ea3351e8-4aed-4a40-8326-fcf6aa0913c4_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/nixcon/2025/56399-ea3351e8-4aed-4a40-8326-fcf6aa0913c4.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/nixcon/2025/56399-ea3351e8-4aed-4a40-8326-fcf6aa0913c4.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/nixcon2025-56399-nixos-mediation-a-free","url":"https://api.media.ccc.de/public/events/ea3351e8-4aed-4a40-8326-fcf6aa0913c4","conference_title":"NixCon 2025","conference_url":"https://api.media.ccc.de/public/conferences/nixcon2025","related":[]},{"guid":"969f80e4-0cd0-4bbf-9288-aa4dbea18be1","title":"Sustainable Nix 2025 - State of the Union","subtitle":null,"slug":"nixcon2025-56398-sustainable-nix-2025-st","link":"https://talks.nixcon.org/nixcon-2025/talk/9VKFRM/","description":"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.","original_language":"eng","persons":["Ron Efroni"],"tags":["56398","2025","nixcon2025","Aula","nixcon2025-eng"],"view_count":128,"promoted":false,"date":"2025-09-05T12:45:00.000+02:00","release_date":"2025-09-19T00:00:00.000+02:00","updated_at":"2026-03-04T00:45:06.164+01:00","length":2654,"duration":2654,"thumb_url":"https://static.media.ccc.de/media/events/nixcon/2025/56398-969f80e4-0cd0-4bbf-9288-aa4dbea18be1.jpg","poster_url":"https://static.media.ccc.de/media/events/nixcon/2025/56398-969f80e4-0cd0-4bbf-9288-aa4dbea18be1_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/nixcon/2025/56398-969f80e4-0cd0-4bbf-9288-aa4dbea18be1.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/nixcon/2025/56398-969f80e4-0cd0-4bbf-9288-aa4dbea18be1.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/nixcon2025-56398-sustainable-nix-2025-st","url":"https://api.media.ccc.de/public/events/969f80e4-0cd0-4bbf-9288-aa4dbea18be1","conference_title":"NixCon 2025","conference_url":"https://api.media.ccc.de/public/conferences/nixcon2025","related":[]},{"guid":"666d25ad-b71f-4737-9077-7ffb1f47a02c","title":"Internet scale routing with NixOS","subtitle":null,"slug":"nixcon2025-56390-internet-scale-routing","link":"https://talks.nixcon.org/nixcon-2025/talk/7YWTUC/","description":"This talk will be in the format of an experience report. We will go over how to use the module system to declaratively manage BGP sessions, set up routing policies to manage traffic between hosts using addresses within advertised prefixes using systemd-networkd and nftables in a multi-upstream setup, and how to run a primitive anycast CDN. The talk will also include hiccups encountered while experimenting with the BIRD Internet Routing Daemon, Tailscale, and improvement plans.\n\nGitHub: https://github.com/stepbrobd/router","original_language":"eng","persons":["Yifei Sun"],"tags":["56390","2025","nixcon2025","Lecture Hall","nixcon2025-eng"],"view_count":122,"promoted":false,"date":"2025-09-06T15:30:00.000+02:00","release_date":"2025-09-18T00:00:00.000+02:00","updated_at":"2026-04-08T02:30:02.606+02:00","length":1038,"duration":1038,"thumb_url":"https://static.media.ccc.de/media/events/nixcon/2025/56390-666d25ad-b71f-4737-9077-7ffb1f47a02c.jpg","poster_url":"https://static.media.ccc.de/media/events/nixcon/2025/56390-666d25ad-b71f-4737-9077-7ffb1f47a02c_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/nixcon/2025/56390-666d25ad-b71f-4737-9077-7ffb1f47a02c.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/nixcon/2025/56390-666d25ad-b71f-4737-9077-7ffb1f47a02c.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/nixcon2025-56390-internet-scale-routing","url":"https://api.media.ccc.de/public/events/666d25ad-b71f-4737-9077-7ffb1f47a02c","conference_title":"NixCon 2025","conference_url":"https://api.media.ccc.de/public/conferences/nixcon2025","related":[]},{"guid":"eafa360a-5d45-4050-bce2-31be5ece5f24","title":"Embarrassingly parallel evaluations","subtitle":null,"slug":"nixcon2025-56394-embarrassingly-parallel","link":"https://talks.nixcon.org/nixcon-2025/talk/FZNRLC/","description":"Nix offers an unparalleled collection of readily packaged C/C++ libraries, with the added benefits of cross-compilation support and a declarative configuration language. That's why we chose it to manage third-party dependencies for our Bazel-built monorepo.\nThis not-too-common use of Nix as a polyglot build system for external libraries and tools led us to approach Nix in a different way, both in how we think about it and how we used it. Our usage scenarios seemed rarely exercised an we found several opportunities for optimization in Nix code itself.\n\nAt the core of the problem, we had 300+ packages that we needed to evaluate and build on demand. These evaluation times quickly added up, and we had to rethink the design to get some optimizations.\nThis task set is embarrassingly parallel as each package evaluation is independent. But we realized along the way that full parallelism wasn’t the best we could do.\n\nWe will explain how we leveraged nix evaluation caches (plural!), flakes, manually crafted store paths and parallel execution to reduce evaluation time from 5 minutes to 5 seconds, and bring other less quantifiable improvements.\nThe work led to a few interesting scripts and two main PRs to nix itself (see below), one of which is already merged and released while the second is subject to discussion because of its impact on other cached operations. We will use that discussion to illustrate the tradeoffs of caching parallel evaluation.","original_language":"eng","persons":["Guillaume Maudoux (@layus)"],"tags":["56394","2025","nixcon2025","Lecture Hall","nixcon2025-eng"],"view_count":63,"promoted":false,"date":"2025-09-06T17:45:00.000+02:00","release_date":"2025-09-18T00:00:00.000+02:00","updated_at":"2026-04-08T03:00:03.289+02:00","length":1237,"duration":1237,"thumb_url":"https://static.media.ccc.de/media/events/nixcon/2025/56394-eafa360a-5d45-4050-bce2-31be5ece5f24.jpg","poster_url":"https://static.media.ccc.de/media/events/nixcon/2025/56394-eafa360a-5d45-4050-bce2-31be5ece5f24_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/nixcon/2025/56394-eafa360a-5d45-4050-bce2-31be5ece5f24.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/nixcon/2025/56394-eafa360a-5d45-4050-bce2-31be5ece5f24.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/nixcon2025-56394-embarrassingly-parallel","url":"https://api.media.ccc.de/public/events/eafa360a-5d45-4050-bce2-31be5ece5f24","conference_title":"NixCon 2025","conference_url":"https://api.media.ccc.de/public/conferences/nixcon2025","related":[]},{"guid":"f30c0144-c60c-4e46-99ab-fd62d126bbb8","title":"Rewriting the Hydra Queue Runner in Rust","subtitle":null,"slug":"nixcon2025-56409-rewriting-the-hydra-que","link":"https://talks.nixcon.org/nixcon-2025/talk/SNFQ7J/","description":"The Hydra Queue Runner is a critical component responsible for orchestrating and executing build tasks within the Hydra infrastructure. Its reliability and efficiency are paramount for our Nix community, serving as a key component of the Nixpkgs infrastructure that builds the world's largest package set. A significant challenge with the current implementation lies in the communication between the Queue Runner and the builders. This system, built on SSH, directly read from and wrote to the running Nix daemon, which imposed a hard limit on connected builders.\n\nThis talk will begin by explaining the current Hydra CI infrastructure and how Hydra works as a whole, looking at the evaluator, Queue Runner, PostgreSQL, hydra-notify, and hydra-web components and how they interact with one another. We will then detail the comprehensive redesign and re-implementation of the Hydra Queue Runner, transitioning from its existing architecture to a robust, high-performance solution built in Rust, specifically to overcome these limitations. We will present an overhaul of the remote communication protocol, migrating from the SSH implementation to gRPC, leveraging its benefits for performance, type safety, and interoperability. This change also benefits our ability to introduce generic messages unrelated to the Nix protocol, which enables the monitoring of the system utilization of all builders, making scheduling decisions more agile. Furthermore, we introduced comprehensive tracing capabilities, making the new Queue Runner significantly more debuggable and maintainable. We will then dive into the build pipeline, distinguishing between steps and runnables, examining the changes made to the build queues (now handling each platform with a separate queue) and what is needed to resolve a derivation. Lastly, we will present compelling benchmarks demonstrating how these changes have significantly accelerated builds and enabled a substantial increase in the number of concurrently connected machines.","original_language":"eng","persons":["Simon Hauser"],"tags":["56409","2025","nixcon2025","Lecture Hall","nixcon2025-eng"],"view_count":96,"promoted":false,"date":"2025-09-05T13:40:00.000+02:00","release_date":"2025-09-20T00:00:00.000+02:00","updated_at":"2026-02-19T01:15:05.425+01:00","length":1668,"duration":1668,"thumb_url":"https://static.media.ccc.de/media/events/nixcon/2025/56409-f30c0144-c60c-4e46-99ab-fd62d126bbb8.jpg","poster_url":"https://static.media.ccc.de/media/events/nixcon/2025/56409-f30c0144-c60c-4e46-99ab-fd62d126bbb8_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/nixcon/2025/56409-f30c0144-c60c-4e46-99ab-fd62d126bbb8.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/nixcon/2025/56409-f30c0144-c60c-4e46-99ab-fd62d126bbb8.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/nixcon2025-56409-rewriting-the-hydra-que","url":"https://api.media.ccc.de/public/events/f30c0144-c60c-4e46-99ab-fd62d126bbb8","conference_title":"NixCon 2025","conference_url":"https://api.media.ccc.de/public/conferences/nixcon2025","related":[]},{"guid":"40b43a63-54d6-4eac-95f1-4223ceed2ca6","title":"nixos-compose: Local development VMs made easy","subtitle":null,"slug":"nixcon2025-56391-nixos-compose-local-dev","link":"https://talks.nixcon.org/nixcon-2025/talk/BRJ8XS/","description":"When working on a software project, it can often be useful to spin up local development versions of services that run in production. This can be as simple as running a database to run your tests against, or as complicated as spinning up dozens of machines that talk to each other, while allowing you to observe and debug complex interactions. In some non-Nix projects, docker-compose is used for this successfully, but it requires a lot of manual configuration.\n\nIn projects where production machines are declared as NixOS configurations, the Nix ecosystem provides a lot of powerful building blocks for running VMs. But existing tools require a lot of manual configuration in order to run networks of VMs locally. They also have unintuitive interfaces and poor documentation, making it hard to use them (and, often, even to know about them!).\n\nnixos-compose addresses these problems. It's a polished CLI tool that makes it remarkably easy to:\n\nStart one or more VMs from a flake file,\nSSH into them for debugging,\nenable network communication between them, and\naccess VMs from the host.\n\nIn this talk, we’ll tour through the features and implementation of nixos-compose.\n\nnixos-compose is an open-source tool built by garnix: https://github.com/garnix-io/nixos-compose","original_language":"eng","persons":["Sönke Hahn"],"tags":["56391","2025","nixcon2025","Lecture Hall","nixcon2025-eng"],"view_count":92,"promoted":false,"date":"2025-09-06T16:05:00.000+02:00","release_date":"2025-09-18T00:00:00.000+02:00","updated_at":"2026-03-26T15:30:06.934+01:00","length":1613,"duration":1613,"thumb_url":"https://static.media.ccc.de/media/events/nixcon/2025/56391-40b43a63-54d6-4eac-95f1-4223ceed2ca6.jpg","poster_url":"https://static.media.ccc.de/media/events/nixcon/2025/56391-40b43a63-54d6-4eac-95f1-4223ceed2ca6_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/nixcon/2025/56391-40b43a63-54d6-4eac-95f1-4223ceed2ca6.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/nixcon/2025/56391-40b43a63-54d6-4eac-95f1-4223ceed2ca6.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/nixcon2025-56391-nixos-compose-local-dev","url":"https://api.media.ccc.de/public/events/40b43a63-54d6-4eac-95f1-4223ceed2ca6","conference_title":"NixCon 2025","conference_url":"https://api.media.ccc.de/public/conferences/nixcon2025","related":[]},{"guid":"650a8d7a-8042-4e43-81e3-06993ffa78ff","title":"Python packaging with nixpkgs, pyproject.nix \u0026 uv2nix","subtitle":null,"slug":"nixcon2025-56389-python-packaging-with-n","link":"https://talks.nixcon.org/nixcon-2025/talk/Y8TSAW/","description":"There is a broad range of possibilities when packaging Python with Nix.\nThe amount of Python formats alone can be overwhelming: requirements.txt, setup.py \u0026 pyproject.toml, not to mention Conda!\n\nThis talk aims to explain Python packaging with Nix, focusing on pyproject.nix \u0026 uv2nix, but I will also talk about other approaches and their trade-offs.\n\nWe'll start off with a short primer on the different Python packaging formats \u0026 methods while explaining a few of the things that make Python packaging particularly murky \u0026 difficult.\n\nThen we'll go through a range of Nix packaging possibilities, starting with using plain nixpkgs \u0026 culminating in pyproject.nix \u0026 uv2nix.\nAlong the way the pros and cons of each will be explored and what approach to use when and where.","original_language":"eng","persons":["adisbladis"],"tags":["56389","2025","nixcon2025","Lecture Hall","nixcon2025-eng"],"view_count":173,"promoted":false,"date":"2025-09-06T13:35:00.000+02:00","release_date":"2025-09-18T00:00:00.000+02:00","updated_at":"2026-04-06T19:45:06.534+02:00","length":1722,"duration":1722,"thumb_url":"https://static.media.ccc.de/media/events/nixcon/2025/56389-650a8d7a-8042-4e43-81e3-06993ffa78ff.jpg","poster_url":"https://static.media.ccc.de/media/events/nixcon/2025/56389-650a8d7a-8042-4e43-81e3-06993ffa78ff_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/nixcon/2025/56389-650a8d7a-8042-4e43-81e3-06993ffa78ff.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/nixcon/2025/56389-650a8d7a-8042-4e43-81e3-06993ffa78ff.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/nixcon2025-56389-python-packaging-with-n","url":"https://api.media.ccc.de/public/events/650a8d7a-8042-4e43-81e3-06993ffa78ff","conference_title":"NixCon 2025","conference_url":"https://api.media.ccc.de/public/conferences/nixcon2025","related":[]},{"guid":"a7d32c5a-76d9-45c1-b87e-66e8e9e884b8","title":"jail.nix - A library to easily jail your NixOS derivations in Bubblewrap","subtitle":null,"slug":"nixcon2025-56407-jailnix-a-library-to-ea","link":"https://talks.nixcon.org/nixcon-2025/talk/3QH3PZ/","description":"Given the amount of software written in memory unsafe languages, and the rise in supply chain attacks, I prefer to run as much software as possible within some kind of security boundary (mostly using bubblewrap and qemu). Bubblewrap is the sandboxing tool at the core of Flatpak, but it is intentionally designed to be very low level.\n\nUsing bubblewrap, one can write wrappers for every package on their system, but getting the flags right can be error prone, and often lead to annoying debug cycles to get a program to run correctly.\n\njail.nix is a nix library I have been working on to make wrapping Nix derivations in bubblewrap jails more ergonomic by using higher level combinators to achieve concrete objectives (like giving a program access to the network, or allowing it to render to a Wayland compositor).\n\nThe library is open source, the source can be found here: https://git.sr.ht/~alexdavid/jail.nix\n\nThis talk will give a tour of the features of jail.nix and how to integrate it with a NixOS configuration.","original_language":"eng","persons":["Alex David"],"tags":["56407","2025","nixcon2025","Aula","nixcon2025-eng"],"view_count":202,"promoted":false,"date":"2025-09-05T19:35:00.000+02:00","release_date":"2025-09-18T00:00:00.000+02:00","updated_at":"2026-04-12T15:15:05.077+02:00","length":307,"duration":307,"thumb_url":"https://static.media.ccc.de/media/events/nixcon/2025/56407-a7d32c5a-76d9-45c1-b87e-66e8e9e884b8.jpg","poster_url":"https://static.media.ccc.de/media/events/nixcon/2025/56407-a7d32c5a-76d9-45c1-b87e-66e8e9e884b8_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/nixcon/2025/56407-a7d32c5a-76d9-45c1-b87e-66e8e9e884b8.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/nixcon/2025/56407-a7d32c5a-76d9-45c1-b87e-66e8e9e884b8.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/nixcon2025-56407-jailnix-a-library-to-ea","url":"https://api.media.ccc.de/public/events/a7d32c5a-76d9-45c1-b87e-66e8e9e884b8","conference_title":"NixCon 2025","conference_url":"https://api.media.ccc.de/public/conferences/nixcon2025","related":[]},{"guid":"8cd8f0ec-5980-40b5-b37c-b6f00b98f52c","title":"You can't spell \"devshell\" without \"hell\"","subtitle":null,"slug":"nixcon2025-56410-you-cant-spell-devshell","link":"https://talks.nixcon.org/nixcon-2025/talk/MAEMPM/","description":"Ever wondered how “nix develop” works? What kind of arcane horrors make our reproducible developer environments work? In this talk we’ll begin by explaining how “nix develop” works, then we’ll use that understanding to explore what it looks like to create an improved devshell experience, including improved startup times, extension to shells other than Bash, and adding packages without needing to exit and re-enter the shell. Along the way we’ll discuss some of the cursed idiosyncrasies of different shells, and some of the patterns for working around them. In the end we’ll all need therapy, but we’ll know more about how our shells are conspiring against us and why we should all be using Fish.","original_language":"eng","persons":["Zach Mitchell"],"tags":["56410","2025","nixcon2025","Lecture Hall","nixcon2025-eng"],"view_count":225,"promoted":false,"date":"2025-09-05T15:30:00.000+02:00","release_date":"2025-09-20T00:00:00.000+02:00","updated_at":"2026-04-08T08:00:04.978+02:00","length":2708,"duration":2708,"thumb_url":"https://static.media.ccc.de/media/events/nixcon/2025/56410-8cd8f0ec-5980-40b5-b37c-b6f00b98f52c.jpg","poster_url":"https://static.media.ccc.de/media/events/nixcon/2025/56410-8cd8f0ec-5980-40b5-b37c-b6f00b98f52c_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/nixcon/2025/56410-8cd8f0ec-5980-40b5-b37c-b6f00b98f52c.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/nixcon/2025/56410-8cd8f0ec-5980-40b5-b37c-b6f00b98f52c.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/nixcon2025-56410-you-cant-spell-devshell","url":"https://api.media.ccc.de/public/events/8cd8f0ec-5980-40b5-b37c-b6f00b98f52c","conference_title":"NixCon 2025","conference_url":"https://api.media.ccc.de/public/conferences/nixcon2025","related":[]},{"guid":"b86f019c-8c6c-492d-a3d0-16a2f253a766","title":"What if GitHub Actions were local-first and built using Nix?","subtitle":null,"slug":"nixcon2025-56408-what-if-github-actions","link":"https://talks.nixcon.org/nixcon-2025/talk/S8SKEG/","description":"We're going to dive into examples behind how GitHub Actions can be designed using Nix, while having little to no difference between local development environment and CI running somewhere else.","original_language":"eng","persons":["Domen Kožar"],"tags":["56408","2025","nixcon2025","Lecture Hall","nixcon2025-eng"],"view_count":269,"promoted":false,"date":"2025-09-05T12:45:00.000+02:00","release_date":"2025-09-20T00:00:00.000+02:00","updated_at":"2026-02-23T20:00:11.245+01:00","length":2790,"duration":2790,"thumb_url":"https://static.media.ccc.de/media/events/nixcon/2025/56408-b86f019c-8c6c-492d-a3d0-16a2f253a766.jpg","poster_url":"https://static.media.ccc.de/media/events/nixcon/2025/56408-b86f019c-8c6c-492d-a3d0-16a2f253a766_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/nixcon/2025/56408-b86f019c-8c6c-492d-a3d0-16a2f253a766.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/nixcon/2025/56408-b86f019c-8c6c-492d-a3d0-16a2f253a766.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/nixcon2025-56408-what-if-github-actions","url":"https://api.media.ccc.de/public/events/b86f019c-8c6c-492d-a3d0-16a2f253a766","conference_title":"NixCon 2025","conference_url":"https://api.media.ccc.de/public/conferences/nixcon2025","related":[]},{"guid":"7eb78996-6a33-4064-9095-0adfe5c746b6","title":"Opening Ceremony","subtitle":null,"slug":"nixcon2025-56397-opening-ceremony","link":"https://talks.nixcon.org/nixcon-2025/talk/QEN3WD/","description":"Opening of the conference","original_language":"eng","persons":["Farhad Mehta"],"tags":["56397","2025","nixcon2025","Aula","nixcon2025-eng"],"view_count":23,"promoted":false,"date":"2025-09-05T12:00:00.000+02:00","release_date":"2025-09-19T00:00:00.000+02:00","updated_at":"2025-11-21T16:00:08.105+01:00","length":1919,"duration":1919,"thumb_url":"https://static.media.ccc.de/media/events/nixcon/2025/56397-7eb78996-6a33-4064-9095-0adfe5c746b6.jpg","poster_url":"https://static.media.ccc.de/media/events/nixcon/2025/56397-7eb78996-6a33-4064-9095-0adfe5c746b6_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/nixcon/2025/56397-7eb78996-6a33-4064-9095-0adfe5c746b6.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/nixcon/2025/56397-7eb78996-6a33-4064-9095-0adfe5c746b6.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/nixcon2025-56397-opening-ceremony","url":"https://api.media.ccc.de/public/events/7eb78996-6a33-4064-9095-0adfe5c746b6","conference_title":"NixCon 2025","conference_url":"https://api.media.ccc.de/public/conferences/nixcon2025","related":[]},{"guid":"7490cecc-4be2-4fa6-a11b-8fbc6f2399ee","title":"Free Software (Talk and Discussion)","subtitle":null,"slug":"nixcon2025-56401-free-software-talk-and","link":"https://talks.nixcon.org/nixcon-2025/talk/NGPKNY/","description":"This talk explores the challenges and opportunities faced by the free software movement today. It offers a broad reflection on what \"freedom\" means in modern computing — and why it's more relevant than ever. Touching on questions of trust, corporate co-option, licenses, and the ethics of technology, it emphasizes the role of community engagement and governance structures. With urgency and clarity, it calls on developers to think beyond code and to take responsibility for the digital world we are collectively building.","original_language":"eng","persons":["Zoë Kooyman"],"tags":["56401","2025","nixcon2025","Aula","nixcon2025-eng"],"view_count":30,"promoted":false,"date":"2025-09-05T16:05:00.000+02:00","release_date":"2025-09-19T00:00:00.000+02:00","updated_at":"2026-03-26T15:00:05.940+01:00","length":2627,"duration":2627,"thumb_url":"https://static.media.ccc.de/media/events/nixcon/2025/56401-7490cecc-4be2-4fa6-a11b-8fbc6f2399ee.jpg","poster_url":"https://static.media.ccc.de/media/events/nixcon/2025/56401-7490cecc-4be2-4fa6-a11b-8fbc6f2399ee_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/nixcon/2025/56401-7490cecc-4be2-4fa6-a11b-8fbc6f2399ee.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/nixcon/2025/56401-7490cecc-4be2-4fa6-a11b-8fbc6f2399ee.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/nixcon2025-56401-free-software-talk-and","url":"https://api.media.ccc.de/public/events/7490cecc-4be2-4fa6-a11b-8fbc6f2399ee","conference_title":"NixCon 2025","conference_url":"https://api.media.ccc.de/public/conferences/nixcon2025","related":[]},{"guid":"b8ab6607-5148-4633-a499-7d1672219205","title":"agenix-shell: secrets in your flake's shells, the Nix Way","subtitle":null,"slug":"nixcon2025-56385-agenix-shell-secrets-in","link":"https://talks.nixcon.org/nixcon-2025/talk/BABGSX/","description":"Leveraging age and agenix, this project makes it easy to inject secret-containing environment variables into your flake-based devShells.\n\nIt simplifies onboarding for new developers by enabling secure secret sharing, and helps make projects more self-contained by removing the need for external secrets managers.\n\nhttps://github.com/aciceri/agenix-shell","original_language":"eng","persons":["Andrea Ciceri"],"tags":["56385","2025","nixcon2025","Aula","nixcon2025-eng"],"view_count":91,"promoted":false,"date":"2025-09-06T19:10:00.000+02:00","release_date":"2025-09-18T00:00:00.000+02:00","updated_at":"2026-03-25T13:15:06.628+01:00","length":289,"duration":289,"thumb_url":"https://static.media.ccc.de/media/events/nixcon/2025/56385-b8ab6607-5148-4633-a499-7d1672219205.jpg","poster_url":"https://static.media.ccc.de/media/events/nixcon/2025/56385-b8ab6607-5148-4633-a499-7d1672219205_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/nixcon/2025/56385-b8ab6607-5148-4633-a499-7d1672219205.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/nixcon/2025/56385-b8ab6607-5148-4633-a499-7d1672219205.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/nixcon2025-56385-agenix-shell-secrets-in","url":"https://api.media.ccc.de/public/events/b8ab6607-5148-4633-a499-7d1672219205","conference_title":"NixCon 2025","conference_url":"https://api.media.ccc.de/public/conferences/nixcon2025","related":[]},{"guid":"74b88818-42ae-4285-be35-59caec3bed69","title":"Ricochets","subtitle":null,"slug":"nixcon2025-56406-ricochets","link":"https://talks.nixcon.org/nixcon-2025/talk/RDSBZN/","description":"I made a thing to manage the Linux machines of my friends and family: https://sraka.xyz/posts/ricochets.html, it's a hack with a custom NixOS default channel :)","original_language":"eng","persons":["Yvan Sraka"],"tags":["56406","2025","nixcon2025","Aula","nixcon2025-eng"],"view_count":31,"promoted":false,"date":"2025-09-05T19:25:00.000+02:00","release_date":"2025-09-18T00:00:00.000+02:00","updated_at":"2026-04-06T05:15:03.641+02:00","length":197,"duration":197,"thumb_url":"https://static.media.ccc.de/media/events/nixcon/2025/56406-74b88818-42ae-4285-be35-59caec3bed69.jpg","poster_url":"https://static.media.ccc.de/media/events/nixcon/2025/56406-74b88818-42ae-4285-be35-59caec3bed69_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/nixcon/2025/56406-74b88818-42ae-4285-be35-59caec3bed69.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/nixcon/2025/56406-74b88818-42ae-4285-be35-59caec3bed69.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/nixcon2025-56406-ricochets","url":"https://api.media.ccc.de/public/events/74b88818-42ae-4285-be35-59caec3bed69","conference_title":"NixCon 2025","conference_url":"https://api.media.ccc.de/public/conferences/nixcon2025","related":[]},{"guid":"7248d727-f2a8-42cd-aa21-bd697a2e6c9d","title":"Is NixOS ready for the CRA?","subtitle":null,"slug":"nixcon2025-56412-is-nixos-ready-for-the","link":"https://talks.nixcon.org/nixcon-2025/talk/3XBNPB/","description":"The Cyber Resilience Act (CRA) is the EU's most important regulation for software in the last decade. While it makes an exception for open-source software and impact NixOS directly, any commercial product that includes NixOS has to comply with the CRA to allow offering in the EU.\n\nIn this talk, we give insights into the CRA’s requirements, showcase that Nix tooling with its focus on reproducibility is very well positioned for compliance, and point out the unsolved shortcomings. We focus on the update mechanism, SBOM tooling (together with matching CVEs from vulnerability mechanisms), and support durations.","original_language":"eng","persons":["Lukas Beierlieb"],"tags":["56412","2025","nixcon2025","Lecture Hall","nixcon2025-eng"],"view_count":64,"promoted":false,"date":"2025-09-05T17:35:00.000+02:00","release_date":"2025-09-19T00:00:00.000+02:00","updated_at":"2026-04-08T02:45:02.895+02:00","length":1527,"duration":1527,"thumb_url":"https://static.media.ccc.de/media/events/nixcon/2025/56412-7248d727-f2a8-42cd-aa21-bd697a2e6c9d.jpg","poster_url":"https://static.media.ccc.de/media/events/nixcon/2025/56412-7248d727-f2a8-42cd-aa21-bd697a2e6c9d_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/nixcon/2025/56412-7248d727-f2a8-42cd-aa21-bd697a2e6c9d.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/nixcon/2025/56412-7248d727-f2a8-42cd-aa21-bd697a2e6c9d.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/nixcon2025-56412-is-nixos-ready-for-the","url":"https://api.media.ccc.de/public/events/7248d727-f2a8-42cd-aa21-bd697a2e6c9d","conference_title":"NixCon 2025","conference_url":"https://api.media.ccc.de/public/conferences/nixcon2025","related":[]},{"guid":"eccfae36-2aa2-489a-853e-60ea984f10b1","title":"Supply Chain Security Panel Discussion","subtitle":null,"slug":"nixcon2025-56404-supply-chain-security-p","link":"https://talks.nixcon.org/nixcon-2025/talk/XWQC8U/","description":"Nix is a very promising technology for fundamentally improving supply chain security.\nIn some ways its lives up to this promise already, in a lot of ways pieces of the overall puzzle are still missing, fall short in implementation, adoption or UX.\n\nOur panelists all work on supply chain security related tools and topics in the the Nix ecosystem, which we will use as a starting point to plainly discuss which issues they are trying to address and how they might fit into an overall picture.\n\nCome join us to find out what we all do and do not see in the overall picture, based on the puzzle pieces we, you or other people in the community are holding.","original_language":"eng","persons":["Martin Schwaighofer","Shahar \"Dawn\" Or","Julien Malka / Luj","Arian van Putten"],"tags":["56404","2025","nixcon2025","Aula","nixcon2025-eng"],"view_count":86,"promoted":false,"date":"2025-09-05T18:10:00.000+02:00","release_date":"2025-09-19T00:00:00.000+02:00","updated_at":"2026-03-16T10:00:07.442+01:00","length":2719,"duration":2719,"thumb_url":"https://static.media.ccc.de/media/events/nixcon/2025/56404-eccfae36-2aa2-489a-853e-60ea984f10b1.jpg","poster_url":"https://static.media.ccc.de/media/events/nixcon/2025/56404-eccfae36-2aa2-489a-853e-60ea984f10b1_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/nixcon/2025/56404-eccfae36-2aa2-489a-853e-60ea984f10b1.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/nixcon/2025/56404-eccfae36-2aa2-489a-853e-60ea984f10b1.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/nixcon2025-56404-supply-chain-security-p","url":"https://api.media.ccc.de/public/events/eccfae36-2aa2-489a-853e-60ea984f10b1","conference_title":"NixCon 2025","conference_url":"https://api.media.ccc.de/public/conferences/nixcon2025","related":[]},{"guid":"6b6957fc-ea12-45ad-bc43-942a066ec63f","title":"Steering Committee \u0026 Foundation Board Panel","subtitle":null,"slug":"nixcon2025-56377-steering-committee-foun","link":"https://talks.nixcon.org/nixcon-2025/talk/RZPTFK/","description":"Discussion \u0026 Q\u0026A","original_language":"eng","persons":["Nix Steering Committee","NixOS Foundation board"],"tags":["56377","2025","nixcon2025","Aula","nixcon2025-eng"],"view_count":86,"promoted":false,"date":"2025-09-06T15:30:00.000+02:00","release_date":"2025-09-18T00:00:00.000+02:00","updated_at":"2026-03-18T18:45:07.485+01:00","length":2625,"duration":2625,"thumb_url":"https://static.media.ccc.de/media/events/nixcon/2025/56377-6b6957fc-ea12-45ad-bc43-942a066ec63f.jpg","poster_url":"https://static.media.ccc.de/media/events/nixcon/2025/56377-6b6957fc-ea12-45ad-bc43-942a066ec63f_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/nixcon/2025/56377-6b6957fc-ea12-45ad-bc43-942a066ec63f.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/nixcon/2025/56377-6b6957fc-ea12-45ad-bc43-942a066ec63f.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/nixcon2025-56377-steering-committee-foun","url":"https://api.media.ccc.de/public/events/6b6957fc-ea12-45ad-bc43-942a066ec63f","conference_title":"NixCon 2025","conference_url":"https://api.media.ccc.de/public/conferences/nixcon2025","related":[]},{"guid":"56c7b23a-a1b2-409a-9b07-cebe702c6d69","title":"From Pixels to Pure Derivations: Deterministic Logos with Nix","subtitle":null,"slug":"nixcon2025-56395-from-pixels-to-pure-der","link":"https://talks.nixcon.org/nixcon-2025/talk/HWQRXK/","description":"When we think of reproducibility, we often focus on software builds, but what about the logos and visuals that represent our projects? In this talk, I’ll share how I approached logo design for the NixOS project with the same rigor we apply to software: deterministic outputs, minimal storage overhead, and fully free tooling.\n\nI’ll discuss the journey of building my own FOSS tooling to generate NixOS logos as SVGs from source code. Existing tools like Inkscape or Blender were either not parametric enough or not designed for clean, annotated vector outputs. By combining principles of CAD, typography, and color theory, I created a pipeline for reproducible, fixed-output derivations (FODs) that ensure all branding assets are versioned, verifiable, and easy to regenerate.\n\nThis talk will cover:\n1. The challenges of finding FOSS tools for parametric logo design.\n2. Deep dives into fonts, kerning, and color spaces to build a consistent design language.\n3. How I integrated FODs with verification tooling to ensure logo correctness.\n4. Lessons learned about repository hygiene and why developers should expose overlays and NixOS modules rather than forcing consumers to hack around flake outputs.","original_language":"eng","persons":["Daniel Baker"],"tags":["56395","2025","nixcon2025","Lecture Hall","nixcon2025-eng"],"view_count":163,"promoted":false,"date":"2025-09-06T18:15:00.000+02:00","release_date":"2025-09-18T00:00:00.000+02:00","updated_at":"2026-04-09T19:15:03.924+02:00","length":1587,"duration":1587,"thumb_url":"https://static.media.ccc.de/media/events/nixcon/2025/56395-56c7b23a-a1b2-409a-9b07-cebe702c6d69.jpg","poster_url":"https://static.media.ccc.de/media/events/nixcon/2025/56395-56c7b23a-a1b2-409a-9b07-cebe702c6d69_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/nixcon/2025/56395-56c7b23a-a1b2-409a-9b07-cebe702c6d69.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/nixcon/2025/56395-56c7b23a-a1b2-409a-9b07-cebe702c6d69.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/nixcon2025-56395-from-pixels-to-pure-der","url":"https://api.media.ccc.de/public/events/56c7b23a-a1b2-409a-9b07-cebe702c6d69","conference_title":"NixCon 2025","conference_url":"https://api.media.ccc.de/public/conferences/nixcon2025","related":[]},{"guid":"17dccd12-35e0-482a-9978-9383c986d148","title":"DerivationBuilder, extracting Nix's sandboxing logic for library use","subtitle":null,"slug":"nixcon2025-56376-derivationbuilder-extra","link":"https://talks.nixcon.org/nixcon-2025/talk/ZAHLMN/","description":"The most subtle part of Nix's store layer is the exact logic used to sandbox derivations. Mess up the daemon protocol, Local Store SQLite usage, drv file parsing, or other such things, and things should blow up immediately. Fail Fast helps a lot! Mess up the sandboxing logic, however, and you might not notice for a while until you try to build just the right sort of derivation.\n\nFor most of Nix's history, the sandboxing logic has been embedded within the build scheduling logic (which builds or downloades dependencies) thus entangling it with hefty other machinery that makes all sorts of assumption about how IO, concurrency, etc. should work. In other words, it was not written in a way that made it easy to use from any other program but Nix itself. In the last few months, however, we've finally untangled it and moved it into its own component, and then reworked it to give it a simple interface for FFI. In this talk, we'll briefly go over that work, and then demonstrate its use a simple example executable written in a friendlier language than C++.","original_language":"eng","persons":["John Ericson"],"tags":["56376","2025","nixcon2025","Aula","nixcon2025-eng"],"view_count":29,"promoted":false,"date":"2025-09-06T13:35:00.000+02:00","release_date":"2025-09-18T00:00:00.000+02:00","updated_at":"2026-04-05T22:45:06.769+02:00","length":1211,"duration":1211,"thumb_url":"https://static.media.ccc.de/media/events/nixcon/2025/56376-17dccd12-35e0-482a-9978-9383c986d148.jpg","poster_url":"https://static.media.ccc.de/media/events/nixcon/2025/56376-17dccd12-35e0-482a-9978-9383c986d148_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/nixcon/2025/56376-17dccd12-35e0-482a-9978-9383c986d148.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/nixcon/2025/56376-17dccd12-35e0-482a-9978-9383c986d148.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/nixcon2025-56376-derivationbuilder-extra","url":"https://api.media.ccc.de/public/events/17dccd12-35e0-482a-9978-9383c986d148","conference_title":"NixCon 2025","conference_url":"https://api.media.ccc.de/public/conferences/nixcon2025","related":[]},{"guid":"4908454e-6c43-4a4d-bde8-70cbe30b3eeb","title":"When Not to Nix: Working with External Config and SOPS Nix","subtitle":null,"slug":"nixcon2025-56381-when-not-to-nix-working","link":"https://talks.nixcon.org/nixcon-2025/talk/CPF8EH/","description":"Nix has got so many bells and whistles to meet most of the requirements, staying declarative with modularised setup to allow code reuse. However, this comes with a bit of a challenge for those who are starting the Nix journey -- it can be quite complex, or at least so does it seem.\n\nThis talk focuses on some simpler approaches to use separate non-Nix files such as JSON, YAML and/or TOML for the configuration management. There are some gotchas around using file content, file as path, and potentially mixing and matching with Nix managed configs. The integration with other tools such as SOPS Nix will also be an interesting mix, where it is simpler to create a separate config file and substitute secret information with SOPS.\n\nOnce you know the tools and solutions of not using Nix to get started, the Nix journey will be an easier one to get started with, and perhaps actually lead you to further Nix usage for areas where Nix language makes it easier.","original_language":"eng","persons":["Ryota"],"tags":["56381","2025","nixcon2025","Aula","nixcon2025-eng"],"view_count":235,"promoted":false,"date":"2025-09-06T18:05:00.000+02:00","release_date":"2025-09-18T00:00:00.000+02:00","updated_at":"2026-04-07T23:15:07.515+02:00","length":1186,"duration":1186,"thumb_url":"https://static.media.ccc.de/media/events/nixcon/2025/56381-4908454e-6c43-4a4d-bde8-70cbe30b3eeb.jpg","poster_url":"https://static.media.ccc.de/media/events/nixcon/2025/56381-4908454e-6c43-4a4d-bde8-70cbe30b3eeb_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/nixcon/2025/56381-4908454e-6c43-4a4d-bde8-70cbe30b3eeb.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/nixcon/2025/56381-4908454e-6c43-4a4d-bde8-70cbe30b3eeb.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/nixcon2025-56381-when-not-to-nix-working","url":"https://api.media.ccc.de/public/events/4908454e-6c43-4a4d-bde8-70cbe30b3eeb","conference_title":"NixCon 2025","conference_url":"https://api.media.ccc.de/public/conferences/nixcon2025","related":[]},{"guid":"c2c78a98-cc46-43a9-9681-edb72835bf73","title":"NixCI Demo","subtitle":null,"slug":"nixcon2025-56383-nixci-demo","link":"https://talks.nixcon.org/nixcon-2025/talk/FHMLKZ/","description":"In this demo I will demo https://nix-ci.com/ to showcase how Nix can give us zero-config locally reproducible CI.","original_language":"eng","persons":["syd"],"tags":["56383","2025","nixcon2025","Aula","nixcon2025-eng"],"view_count":36,"promoted":false,"date":"2025-09-06T18:50:00.000+02:00","release_date":"2025-09-18T00:00:00.000+02:00","updated_at":"2026-03-30T14:30:07.452+02:00","length":336,"duration":336,"thumb_url":"https://static.media.ccc.de/media/events/nixcon/2025/56383-c2c78a98-cc46-43a9-9681-edb72835bf73.jpg","poster_url":"https://static.media.ccc.de/media/events/nixcon/2025/56383-c2c78a98-cc46-43a9-9681-edb72835bf73_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/nixcon/2025/56383-c2c78a98-cc46-43a9-9681-edb72835bf73.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/nixcon/2025/56383-c2c78a98-cc46-43a9-9681-edb72835bf73.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/nixcon2025-56383-nixci-demo","url":"https://api.media.ccc.de/public/events/c2c78a98-cc46-43a9-9681-edb72835bf73","conference_title":"NixCon 2025","conference_url":"https://api.media.ccc.de/public/conferences/nixcon2025","related":[]},{"guid":"a7d90376-dcba-4650-a5e8-e0f570d8d659","title":"The Nix Binary Cache and AWS","subtitle":null,"slug":"nixcon2025-56403-the-nix-binary-cache-an","link":"https://talks.nixcon.org/nixcon-2025/talk/QXZJ9H/","description":"Behind the Scenes of cache.nixos.org: Scaling Nix’s Binary Cache to Infinity\n\nThe Nix binary cache is the silent powerhouse of the Nix ecosystem: every day, it fields thousands of requests per second—amounting to nearly 6 billion requests per month!—for NixOS and Nix users worldwide. But what makes it work at scale, how—or why—is its simplicity a virtue, and how does an ongoing partnership between AWS and the Nix Foundation ensure its availability for years to come?\n\nIn this fireside chat, join Ron (Flox), Tarus (AWS), Tom Bereknyei and moderator Ross (Flox) for a conversation about:\n\n- What the Nix binary cache actually is…\n- …and why it matters for the community, reproducibility, and even the survival of historical software;\n- How AWS came to support cache.nixos.org\n- Why the binary cache’s “dumb” design is a feature, not a bug;\n- What goes in the cache?\n- Challenges and lessons learned: scaling, cost optimization, and keeping things simple\n- Why this partnership is important for the Nix ecosystem\n\nWhether you’re a builder, a Nix maintainer, a user, or just curious about how open source infra runs at global scale, this conversation will offer insights, anecdotes, and a look at how communities and clouds can support each other.","original_language":"eng","persons":["Tarus Balog"],"tags":["56403","2025","nixcon2025","Aula","nixcon2025-eng"],"view_count":135,"promoted":false,"date":"2025-09-05T17:35:00.000+02:00","release_date":"2025-09-18T00:00:00.000+02:00","updated_at":"2026-03-28T12:15:06.981+01:00","length":1479,"duration":1479,"thumb_url":"https://static.media.ccc.de/media/events/nixcon/2025/56403-a7d90376-dcba-4650-a5e8-e0f570d8d659.jpg","poster_url":"https://static.media.ccc.de/media/events/nixcon/2025/56403-a7d90376-dcba-4650-a5e8-e0f570d8d659_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/nixcon/2025/56403-a7d90376-dcba-4650-a5e8-e0f570d8d659.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/nixcon/2025/56403-a7d90376-dcba-4650-a5e8-e0f570d8d659.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/nixcon2025-56403-the-nix-binary-cache-an","url":"https://api.media.ccc.de/public/events/a7d90376-dcba-4650-a5e8-e0f570d8d659","conference_title":"NixCon 2025","conference_url":"https://api.media.ccc.de/public/conferences/nixcon2025","related":[]},{"guid":"1a72622c-3c5e-480c-bd0a-cb70b84a4912","title":"Introducing NixOps4","subtitle":null,"slug":"nixcon2025-56400-introducing-nixops4","link":"https://talks.nixcon.org/nixcon-2025/talk/YCDXZM/","description":"NixOps4 is the successor of NixOps.\nWhy did NixOps fail, and how does NixOps4 address its shortcomings?\nWill NixOps4 replace Terraform/OpenTofu?\nWill the demo work?\n\nhttps://github.com/roberth/nixcon-2025-slides","original_language":"eng","persons":["Robert Hensing"],"tags":["56400","2025","nixcon2025","Aula","nixcon2025-eng"],"view_count":132,"promoted":false,"date":"2025-09-05T15:30:00.000+02:00","release_date":"2025-09-19T00:00:00.000+02:00","updated_at":"2026-02-21T11:30:08.495+01:00","length":1855,"duration":1855,"thumb_url":"https://static.media.ccc.de/media/events/nixcon/2025/56400-1a72622c-3c5e-480c-bd0a-cb70b84a4912.jpg","poster_url":"https://static.media.ccc.de/media/events/nixcon/2025/56400-1a72622c-3c5e-480c-bd0a-cb70b84a4912_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/nixcon/2025/56400-1a72622c-3c5e-480c-bd0a-cb70b84a4912.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/nixcon/2025/56400-1a72622c-3c5e-480c-bd0a-cb70b84a4912.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/nixcon2025-56400-introducing-nixops4","url":"https://api.media.ccc.de/public/events/1a72622c-3c5e-480c-bd0a-cb70b84a4912","conference_title":"NixCon 2025","conference_url":"https://api.media.ccc.de/public/conferences/nixcon2025","related":[]},{"guid":"8b188180-5886-4f1d-851d-a1c809cbf767","title":"Nix in the Wild","subtitle":null,"slug":"nixcon2025-56386-nix-in-the-wild","link":"https://talks.nixcon.org/nixcon-2025/talk/XSRZH8/","description":"In this talk, we’ll share lessons from real teams using Nix in the wild: from startups building AI workflows to large orgs managing cloud infrastructure. Based on a series of interviews and stories, we’ll cover what’s working, what’s not, and how teams are making Nix part of their day-to-day development.\n\nWe’ll talk about:\n* Why teams decide to use Nix\n* How they roll it out across engineering\n* Common challenges and how people solve them\n* Real-world examples of Nix in CI, AI, and production environments\n\nIf you’ve ever wondered what it’s like to bring Nix to work — this talk will give you a clear, honest look.","original_language":"eng","persons":["Ross Turk"],"tags":["56386","2025","nixcon2025","Aula","nixcon2025-eng"],"view_count":100,"promoted":false,"date":"2025-09-06T19:20:00.000+02:00","release_date":"2025-09-18T00:00:00.000+02:00","updated_at":"2026-02-09T21:30:08.378+01:00","length":311,"duration":311,"thumb_url":"https://static.media.ccc.de/media/events/nixcon/2025/56386-8b188180-5886-4f1d-851d-a1c809cbf767.jpg","poster_url":"https://static.media.ccc.de/media/events/nixcon/2025/56386-8b188180-5886-4f1d-851d-a1c809cbf767_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/nixcon/2025/56386-8b188180-5886-4f1d-851d-a1c809cbf767.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/nixcon/2025/56386-8b188180-5886-4f1d-851d-a1c809cbf767.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/nixcon2025-56386-nix-in-the-wild","url":"https://api.media.ccc.de/public/events/8b188180-5886-4f1d-851d-a1c809cbf767","conference_title":"NixCon 2025","conference_url":"https://api.media.ccc.de/public/conferences/nixcon2025","related":[]},{"guid":"25069f95-103c-4e09-a486-2f0b4e189fcd","title":"Share your daemons with your peers","subtitle":null,"slug":"nixcon2025-56382-share-your-daemons-with","link":"https://talks.nixcon.org/nixcon-2025/talk/FBZBUS/","description":"The ssh-ng store implementation allows connecting to remote daemons over ssh. However, between server management, key exchanges, and device discovery, SSH is not the most user friendly. Unfortunately ssh-ng is also the only store implementation for active remotes built into nix.\n\nLet's ignore that fact and forward a remote daemon via P2P instead. Why would you do this? Does this work? And what can we learn from it?\n\nThis talk might answer any or all of that.","original_language":"eng","persons":["Yannik Sander"],"tags":["56382","2025","nixcon2025","Aula","nixcon2025-eng"],"view_count":38,"promoted":false,"date":"2025-09-06T18:45:00.000+02:00","release_date":"2025-09-18T00:00:00.000+02:00","updated_at":"2026-03-30T15:00:07.131+02:00","length":312,"duration":312,"thumb_url":"https://static.media.ccc.de/media/events/nixcon/2025/56382-25069f95-103c-4e09-a486-2f0b4e189fcd.jpg","poster_url":"https://static.media.ccc.de/media/events/nixcon/2025/56382-25069f95-103c-4e09-a486-2f0b4e189fcd_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/nixcon/2025/56382-25069f95-103c-4e09-a486-2f0b4e189fcd.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/nixcon/2025/56382-25069f95-103c-4e09-a486-2f0b4e189fcd.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/nixcon2025-56382-share-your-daemons-with","url":"https://api.media.ccc.de/public/events/25069f95-103c-4e09-a486-2f0b4e189fcd","conference_title":"NixCon 2025","conference_url":"https://api.media.ccc.de/public/conferences/nixcon2025","related":[]},{"guid":"1e3649c1-0ba2-4866-98bf-8b7305ece476","title":"Closing Ceremony","subtitle":null,"slug":"nixcon2025-56387-closing-ceremony","link":"https://talks.nixcon.org/nixcon-2025/talk/TEPUWK/","description":"Closing ceremony\nSo long, and thanks for all the bees!","original_language":"eng","persons":["Farhad Mehta"],"tags":["56387","2025","nixcon2025","Aula","nixcon2025-eng"],"view_count":7,"promoted":false,"date":"2025-09-06T19:45:00.000+02:00","release_date":"2025-09-18T00:00:00.000+02:00","updated_at":"2025-10-28T23:15:04.873+01:00","length":470,"duration":470,"thumb_url":"https://static.media.ccc.de/media/events/nixcon/2025/56387-1e3649c1-0ba2-4866-98bf-8b7305ece476.jpg","poster_url":"https://static.media.ccc.de/media/events/nixcon/2025/56387-1e3649c1-0ba2-4866-98bf-8b7305ece476_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/nixcon/2025/56387-1e3649c1-0ba2-4866-98bf-8b7305ece476.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/nixcon/2025/56387-1e3649c1-0ba2-4866-98bf-8b7305ece476.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/nixcon2025-56387-closing-ceremony","url":"https://api.media.ccc.de/public/events/1e3649c1-0ba2-4866-98bf-8b7305ece476","conference_title":"NixCon 2025","conference_url":"https://api.media.ccc.de/public/conferences/nixcon2025","related":[]},{"guid":"343fdb32-8715-4f5e-856a-7125c9466443","title":"Life without Kubernetes: Hosting Mirrors with NixOS","subtitle":null,"slug":"nixcon2025-56415-life-without-kubernetes","link":"https://talks.nixcon.org/nixcon-2025/talk/MKJPLZ/","description":"Kubernetes is good for many machines with complex networking setups, but not that good for a 2-machine one, especially when there's only one maintainer and zero documentation.\n\nAt GeekPie, I've migrated our mirror infrastructure to NixOS and in this talk I want to show how Nix helps us achieve more with less code \u0026 maintenance.","original_language":"eng","persons":["Sizhe Zhao"],"tags":["56415","2025","nixcon2025","Lecture Hall","nixcon2025-eng"],"view_count":68,"promoted":false,"date":"2025-09-05T19:10:00.000+02:00","release_date":"2025-09-19T00:00:00.000+02:00","updated_at":"2026-04-09T16:45:06.441+02:00","length":1259,"duration":1259,"thumb_url":"https://static.media.ccc.de/media/events/nixcon/2025/56415-343fdb32-8715-4f5e-856a-7125c9466443.jpg","poster_url":"https://static.media.ccc.de/media/events/nixcon/2025/56415-343fdb32-8715-4f5e-856a-7125c9466443_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/nixcon/2025/56415-343fdb32-8715-4f5e-856a-7125c9466443.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/nixcon/2025/56415-343fdb32-8715-4f5e-856a-7125c9466443.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/nixcon2025-56415-life-without-kubernetes","url":"https://api.media.ccc.de/public/events/343fdb32-8715-4f5e-856a-7125c9466443","conference_title":"NixCon 2025","conference_url":"https://api.media.ccc.de/public/conferences/nixcon2025","related":[]},{"guid":"4cd7dbd3-8fab-4c1e-b100-947878098032","title":"My first Nix Aha!: A Newcomer’s Perspective","subtitle":null,"slug":"nixcon2025-56414-my-first-nix-aha-a-newc","link":"https://talks.nixcon.org/nixcon-2025/talk/FMTH39/","description":"When I first saw a colleague of mine typing \"nix-shell\", I had no idea what it did — but running it felt like magic. A swirl of \"/nix/store/...\" messages later, a fully working dev environment, with all the right tools and no system mess! Like Alice, I was “curiouser and curiouser.”\n\nIn this talk, I’ll share the key “aha!” moments from my first few weeks with Nix — how I came to understand derivations, the Nix store, and pure builds. I’ll walk through the “from confusion to clarity” moments that helped me go from feeling lost in a sea of unfamiliar terminology to confidently writing my first Nix expressions. Along the way, I’ll highlight the resources, metaphors, and mental models that made the biggest difference — and the ones that didn’t.\n\nThe Nix community is filled with passionate and experienced users, but for newcomers, the learning curve can feel overwhelming. This talk is not a tutorial, but a reflection: a newcomer’s perspective on what it’s like to learn Nix today, what helped me “get it,” and where the community can do more to support others on the same journey.","original_language":"eng","persons":["Kavisha Kumar"],"tags":["56414","2025","nixcon2025","Lecture Hall","nixcon2025-eng"],"view_count":622,"promoted":false,"date":"2025-09-05T18:40:00.000+02:00","release_date":"2025-09-19T00:00:00.000+02:00","updated_at":"2026-04-11T14:15:03.568+02:00","length":1158,"duration":1158,"thumb_url":"https://static.media.ccc.de/media/events/nixcon/2025/56414-4cd7dbd3-8fab-4c1e-b100-947878098032.jpg","poster_url":"https://static.media.ccc.de/media/events/nixcon/2025/56414-4cd7dbd3-8fab-4c1e-b100-947878098032_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/nixcon/2025/56414-4cd7dbd3-8fab-4c1e-b100-947878098032.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/nixcon/2025/56414-4cd7dbd3-8fab-4c1e-b100-947878098032.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/nixcon2025-56414-my-first-nix-aha-a-newc","url":"https://api.media.ccc.de/public/events/4cd7dbd3-8fab-4c1e-b100-947878098032","conference_title":"NixCon 2025","conference_url":"https://api.media.ccc.de/public/conferences/nixcon2025","related":[]},{"guid":"e7ea7c76-3f27-4978-a028-8bcbb3763092","title":"Kubernetes on Nix","subtitle":null,"slug":"nixcon2025-56396-kubernetes-on-nix","link":"https://talks.nixcon.org/nixcon-2025/talk/AZF8PR/","description":"Running a production grade kubernetes cluster is a non trivial task. Although many commercial and non-commercial solutions are available, each comes with its own limitations. Some are primarily meant to set up a single node development cluster, others have hardly any flexibility.\nHere NixOS comes to the rescue, allowing us to build our cluster the way we want.\nHowever, because of the complexity of such a multi host setup, this is a bit more work than a services.kubernetes.enable = true;.\n\nWe will look into the Kubernetes modules in NixOS, and how we can use them to set up a production grade cluster. For this we will consider what certificates we need, and how we can utilize a secret management solution like agenix to deploy them.\n\nWe will also analyze how we can utilize Nix and the kubernetes addon-manager to configure our cluster from nix. Being able to install tools like ingress or the cert-manager is the final piece to describe the entire cluster in our nix config.","original_language":"eng","persons":["Lux"],"tags":["56396","2025","nixcon2025","Lecture Hall","nixcon2025-eng"],"view_count":214,"promoted":false,"date":"2025-09-06T18:50:00.000+02:00","release_date":"2025-09-18T00:00:00.000+02:00","updated_at":"2026-04-12T13:15:05.554+02:00","length":1530,"duration":1530,"thumb_url":"https://static.media.ccc.de/media/events/nixcon/2025/56396-e7ea7c76-3f27-4978-a028-8bcbb3763092.jpg","poster_url":"https://static.media.ccc.de/media/events/nixcon/2025/56396-e7ea7c76-3f27-4978-a028-8bcbb3763092_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/nixcon/2025/56396-e7ea7c76-3f27-4978-a028-8bcbb3763092.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/nixcon/2025/56396-e7ea7c76-3f27-4978-a028-8bcbb3763092.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/nixcon2025-56396-kubernetes-on-nix","url":"https://api.media.ccc.de/public/events/e7ea7c76-3f27-4978-a028-8bcbb3763092","conference_title":"NixCon 2025","conference_url":"https://api.media.ccc.de/public/conferences/nixcon2025","related":[]},{"guid":"2d347780-1290-4a5e-9b53-1d9476be7d3e","title":"finix - an experimental os, featuring finit as pid 1, to explore the NixOS design space","subtitle":null,"slug":"nixcon2025-56380-finix-an-experimental-o","link":"https://talks.nixcon.org/nixcon-2025/talk/Q8VUKL/","description":"NixOS is a remarkably flexible and powerful operating system, but its stability and scale can make it a challenging environment for exploring unconventional ideas. finix is an experimental Nix-based OS I built to break free from some of the constraints of upstream NixOS — a fully functional, Nix-built system that embraces rapid and bold experimentation over stability.\n\nThis talk will walk through how I built finix, how I reuse much of NixOS’s scaffolding, and why I chose to try a different init system, finit. But more than the implementation details, I want to share how having a small, purpose-built codebase has created space to rapidly prototype ideas — like alternative service frameworks or minimal module sets — and see what works. finix isn’t meant to replace anything, but it could serve as a useful place to explore concepts that might one day feed back into the broader NixOS ecosystem, or at least help us think differently about how it’s designed.\n\nBeyond finix itself, I’d like to use this talk to advocate for a more diverse ecosystem of sibling projects in the Nix community — especially to better support efforts like the Nix-based BSD project. Valuable ideas don’t always need to go upstream to have an impact.\n\nThough built for experimentation, I run finix as my daily driver — and on my laptop, it’s just as smooth and capable as NixOS. That reliability makes it a practical foundation for trying out new ideas in real-world use, and it’s convinced me that we need more room for experiments like this — and more space for alternative perspectives in our community.","original_language":"eng","persons":["aanderse"],"tags":["56380","2025","nixcon2025","Aula","nixcon2025-eng"],"view_count":60,"promoted":false,"date":"2025-09-06T17:35:00.000+02:00","release_date":"2025-09-18T00:00:00.000+02:00","updated_at":"2026-04-03T06:00:04.169+02:00","length":1190,"duration":1190,"thumb_url":"https://static.media.ccc.de/media/events/nixcon/2025/56380-2d347780-1290-4a5e-9b53-1d9476be7d3e.jpg","poster_url":"https://static.media.ccc.de/media/events/nixcon/2025/56380-2d347780-1290-4a5e-9b53-1d9476be7d3e_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/nixcon/2025/56380-2d347780-1290-4a5e-9b53-1d9476be7d3e.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/nixcon/2025/56380-2d347780-1290-4a5e-9b53-1d9476be7d3e.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/nixcon2025-56380-finix-an-experimental-o","url":"https://api.media.ccc.de/public/events/2d347780-1290-4a5e-9b53-1d9476be7d3e","conference_title":"NixCon 2025","conference_url":"https://api.media.ccc.de/public/conferences/nixcon2025","related":[]},{"guid":"eb5e1a58-19c6-4516-87f4-445f18488f8a","title":"Saturday Opening Ceremony","subtitle":null,"slug":"nixcon2025-56374-saturday-opening-ceremo","link":"https://talks.nixcon.org/nixcon-2025/talk/XVBSXD/","description":"Opening day 2","original_language":"eng","persons":["Farhad Mehta"],"tags":["56374","2025","nixcon2025","Aula","nixcon2025-eng"],"view_count":23,"promoted":false,"date":"2025-09-06T12:45:00.000+02:00","release_date":"2025-09-18T00:00:00.000+02:00","updated_at":"2026-03-15T16:45:05.656+01:00","length":246,"duration":246,"thumb_url":"https://static.media.ccc.de/media/events/nixcon/2025/56374-eb5e1a58-19c6-4516-87f4-445f18488f8a.jpg","poster_url":"https://static.media.ccc.de/media/events/nixcon/2025/56374-eb5e1a58-19c6-4516-87f4-445f18488f8a_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/nixcon/2025/56374-eb5e1a58-19c6-4516-87f4-445f18488f8a.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/nixcon/2025/56374-eb5e1a58-19c6-4516-87f4-445f18488f8a.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/nixcon2025-56374-saturday-opening-ceremo","url":"https://api.media.ccc.de/public/events/eb5e1a58-19c6-4516-87f4-445f18488f8a","conference_title":"NixCon 2025","conference_url":"https://api.media.ccc.de/public/conferences/nixcon2025","related":[]},{"guid":"c0b94de2-405c-49ac-ab2b-984d71b238da","title":"The bikes have been shed: The official Nix formatter","subtitle":null,"slug":"nixcon2025-56375-the-bikes-have-been-she","link":"https://talks.nixcon.org/nixcon-2025/talk/GCGE7K/","description":"The history of how the official Nix formatter was successfully established, along with its struggles and lessons.\n\nWe go over:\n- How Nix didn't have a formatter for its first 15 years before the first ones were written\n- How an RFC to standardise the formatter took 3 years, 50 meetings and 600 comments to get accepted\n- How one of the most active codebases with 40k Nix files and 15k monthly commits got fully reformatted\n- What problems still exist and what the future of Nix formatting holds","original_language":"eng","persons":["Silvan Mosberger"],"tags":["56375","2025","nixcon2025","Aula","nixcon2025-eng"],"view_count":210,"promoted":false,"date":"2025-09-06T13:00:00.000+02:00","release_date":"2025-09-18T00:00:00.000+02:00","updated_at":"2026-04-05T22:30:06.176+02:00","length":1208,"duration":1208,"thumb_url":"https://static.media.ccc.de/media/events/nixcon/2025/56375-c0b94de2-405c-49ac-ab2b-984d71b238da.jpg","poster_url":"https://static.media.ccc.de/media/events/nixcon/2025/56375-c0b94de2-405c-49ac-ab2b-984d71b238da_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/nixcon/2025/56375-c0b94de2-405c-49ac-ab2b-984d71b238da.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/nixcon/2025/56375-c0b94de2-405c-49ac-ab2b-984d71b238da.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/nixcon2025-56375-the-bikes-have-been-she","url":"https://api.media.ccc.de/public/events/c0b94de2-405c-49ac-ab2b-984d71b238da","conference_title":"NixCon 2025","conference_url":"https://api.media.ccc.de/public/conferences/nixcon2025","related":[]},{"guid":"f872a55f-b7e0-4de6-a8cc-b3b2cd9aecbe","title":"The Road\u2028 Towards a \u2028NixOS UI","subtitle":null,"slug":"nixcon2025-56411-the-road-towards-a-nixo","link":"https://talks.nixcon.org/nixcon-2025/talk/KX7AMW/","description":"Imagine a Sim-City-style interface for managing your infrastructure: drag a machine onto the field, connect it to a service, and you're done.\n\nBehind the scenes, the clan.lol project turns that visual layout into the correct Nix modules - automatically configuring machines, managing secrets, and setting up a mesh VPN.\n\nIn this presentation we detail:\n\n- Visualize and Configure Networks in 3D\n  - A \"Sim City\" inspired 3D-UI to configure your selfhosted network without writing Nix!\n\n- Portable Multi-Machine Module System\n  - Network-wide modules that configure multiple machines\n  - Support for complex, role based relationships between machines (e.g. client, server)\n  - Generation and distribution of secrets via generators\n\n- Multi VPN support\n  - Support for running multiple VPNs at once\n  - Deployment picks best suitable VPN connection\n  - Extensible interface so users can define their own.\n\n- Multi-Platform support\n  - Integrated MacOS support with nix-darwin.\n  - Service Provisioning support","original_language":"eng","persons":["Qubasa","Kenji Berthold"],"tags":["56411","2025","nixcon2025","Lecture Hall","nixcon2025-eng"],"view_count":227,"promoted":false,"date":"2025-09-05T16:25:00.000+02:00","release_date":"2025-09-20T00:00:00.000+02:00","updated_at":"2026-04-11T14:00:04.067+02:00","length":1379,"duration":1379,"thumb_url":"https://static.media.ccc.de/media/events/nixcon/2025/56411-f872a55f-b7e0-4de6-a8cc-b3b2cd9aecbe.jpg","poster_url":"https://static.media.ccc.de/media/events/nixcon/2025/56411-f872a55f-b7e0-4de6-a8cc-b3b2cd9aecbe_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/nixcon/2025/56411-f872a55f-b7e0-4de6-a8cc-b3b2cd9aecbe.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/nixcon/2025/56411-f872a55f-b7e0-4de6-a8cc-b3b2cd9aecbe.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/nixcon2025-56411-the-road-towards-a-nixo","url":"https://api.media.ccc.de/public/events/f872a55f-b7e0-4de6-a8cc-b3b2cd9aecbe","conference_title":"NixCon 2025","conference_url":"https://api.media.ccc.de/public/conferences/nixcon2025","related":[]},{"guid":"21a1edb3-cb52-49e0-a6ed-ae41fa020659","title":"Nix-based development environments at Shopify (reprise)","subtitle":null,"slug":"nixcon2025-56413-nix-based-development-e","link":"https://talks.nixcon.org/nixcon-2025/talk/UPHTPD/","description":"Over the past year at Shopify we've undergone a lot of changes internally. We moved from cloud development to local development, multirepo to monorepo, and Homebrew / Apt to Nix. Today, the majority of development is being done inside Nix-based environments. Some may recall that Shopify was using Nix back in 2019, so what happened?\n\nThis talk will cover:\n* Why that effort stalled\n* How devenv reignited interest in Nix\n* How we approached incrementally migrating a huge collection of projects\n* Where we're at today, and lessons learned along the way\n* The many benefits Nix has brought\n* The challenges of supporting a large polygot org with developers working at every layer of the stack\n* Where we're headed","original_language":"eng","persons":["Josh Heinrichs"],"tags":["56413","2025","nixcon2025","Lecture Hall","nixcon2025-eng"],"view_count":384,"promoted":false,"date":"2025-09-05T18:10:00.000+02:00","release_date":"2025-09-20T00:00:00.000+02:00","updated_at":"2026-04-11T14:15:03.774+02:00","length":1141,"duration":1141,"thumb_url":"https://static.media.ccc.de/media/events/nixcon/2025/56413-21a1edb3-cb52-49e0-a6ed-ae41fa020659.jpg","poster_url":"https://static.media.ccc.de/media/events/nixcon/2025/56413-21a1edb3-cb52-49e0-a6ed-ae41fa020659_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/nixcon/2025/56413-21a1edb3-cb52-49e0-a6ed-ae41fa020659.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/nixcon/2025/56413-21a1edb3-cb52-49e0-a6ed-ae41fa020659.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/nixcon2025-56413-nix-based-development-e","url":"https://api.media.ccc.de/public/events/21a1edb3-cb52-49e0-a6ed-ae41fa020659","conference_title":"NixCon 2025","conference_url":"https://api.media.ccc.de/public/conferences/nixcon2025","related":[]},{"guid":"3512c744-b98b-43dd-ab0b-d0b207e23b52","title":"NixOS on LoongArch64","subtitle":null,"slug":"nixcon2025-56388-nixos-on-loongarch64","link":"https://talks.nixcon.org/nixcon-2025/talk/BMXTFW/","description":"Explain the current state of the LoongArch64 ecosystem, issues encountered with the Nixpkgs/NixOS port, and what to expect next","original_language":"eng","persons":["Aleksana","Weijia Wang"],"tags":["56388","2025","nixcon2025","Lecture Hall","nixcon2025-eng"],"view_count":76,"promoted":false,"date":"2025-09-06T13:00:00.000+02:00","release_date":"2025-09-18T00:00:00.000+02:00","updated_at":"2026-03-21T04:30:03.142+01:00","length":1563,"duration":1563,"thumb_url":"https://static.media.ccc.de/media/events/nixcon/2025/56388-3512c744-b98b-43dd-ab0b-d0b207e23b52.jpg","poster_url":"https://static.media.ccc.de/media/events/nixcon/2025/56388-3512c744-b98b-43dd-ab0b-d0b207e23b52_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/nixcon/2025/56388-3512c744-b98b-43dd-ab0b-d0b207e23b52.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/nixcon/2025/56388-3512c744-b98b-43dd-ab0b-d0b207e23b52.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/nixcon2025-56388-nixos-on-loongarch64","url":"https://api.media.ccc.de/public/events/3512c744-b98b-43dd-ab0b-d0b207e23b52","conference_title":"NixCon 2025","conference_url":"https://api.media.ccc.de/public/conferences/nixcon2025","related":[]},{"guid":"6bef6b1a-0a82-4b47-9855-b4b34dac85a6","title":"Flatpaks the Nix way","subtitle":null,"slug":"nixcon2025-56402-flatpaks-the-nix-way","link":"https://talks.nixcon.org/nixcon-2025/talk/XJ9JLH/","description":"Nix and Flatpak are often seen as solving similar problems from different angles: one declarative and reproducible, the other sandboxed and user-friendly. But what happens when you try to make them work together? And why would you want to do it?\n\nIn this talk, I’ll present nix-flatpak (https://github.com/gmodena/nix-flatpak), an open-source project to declaratively manage Flatpak apps with Nix. This project started as a personal learning experiment to understand Nix, flakes, and module design, and grew into a practical tool to bridge the Nix and Flatpak ecosystems.\n\nWe’ll cover:\n- A quick primer on Flatpaks and why they matter for desktop NixOS users\n- How Flatpak installations are managed declaratively in nix-flatpak\n- Architecture decisions and tradeoffs: convergent state vs full reproducibility\n- How to test and validate the module logic across system and user installations\n- What’s ahead: improving UX, stability, and community feedback\n\nThe talk is intended to be interactive. I’ll share how the project evolved, but also open the floor to ideas, questions, and use cases from the community. Your feedback will directly shape the future of nix-flatpak.","original_language":"eng","persons":["Gabriele Modena"],"tags":["56402","2025","nixcon2025","Aula","nixcon2025-eng"],"view_count":131,"promoted":false,"date":"2025-09-05T17:00:00.000+02:00","release_date":"2025-09-18T00:00:00.000+02:00","updated_at":"2026-04-11T09:15:05.582+02:00","length":1594,"duration":1594,"thumb_url":"https://static.media.ccc.de/media/events/nixcon/2025/56402-6bef6b1a-0a82-4b47-9855-b4b34dac85a6.jpg","poster_url":"https://static.media.ccc.de/media/events/nixcon/2025/56402-6bef6b1a-0a82-4b47-9855-b4b34dac85a6_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/nixcon/2025/56402-6bef6b1a-0a82-4b47-9855-b4b34dac85a6.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/nixcon/2025/56402-6bef6b1a-0a82-4b47-9855-b4b34dac85a6.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/nixcon2025-56402-flatpaks-the-nix-way","url":"https://api.media.ccc.de/public/events/6bef6b1a-0a82-4b47-9855-b4b34dac85a6","conference_title":"NixCon 2025","conference_url":"https://api.media.ccc.de/public/conferences/nixcon2025","related":[]},{"guid":"578badc6-06d8-4d69-9c8f-d38afb20c1d1","title":"How NixOS is built: From Pull Request to your /nix/store","subtitle":null,"slug":"nixcon2025-56379-how-nixos-is-built-from","link":"https://talks.nixcon.org/nixcon-2025/talk/RF93ZE/","description":"Let's follow the lifecycle of a change in Nixpkgs; from opening the Pull Request until the change makes it our local /nix/store. We'll explore all the CI systems involved in this process, how they interact, where and how they're defined in our codebases, and finally the security implications of each step.","original_language":"eng","persons":["Dionysis Grigoropoulos"],"tags":["56379","2025","nixcon2025","Aula","nixcon2025-eng"],"view_count":258,"promoted":false,"date":"2025-09-06T17:00:00.000+02:00","release_date":"2025-09-18T00:00:00.000+02:00","updated_at":"2026-04-01T20:30:07.452+02:00","length":1085,"duration":1085,"thumb_url":"https://static.media.ccc.de/media/events/nixcon/2025/56379-578badc6-06d8-4d69-9c8f-d38afb20c1d1.jpg","poster_url":"https://static.media.ccc.de/media/events/nixcon/2025/56379-578badc6-06d8-4d69-9c8f-d38afb20c1d1_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/nixcon/2025/56379-578badc6-06d8-4d69-9c8f-d38afb20c1d1.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/nixcon/2025/56379-578badc6-06d8-4d69-9c8f-d38afb20c1d1.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/nixcon2025-56379-how-nixos-is-built-from","url":"https://api.media.ccc.de/public/events/578badc6-06d8-4d69-9c8f-d38afb20c1d1","conference_title":"NixCon 2025","conference_url":"https://api.media.ccc.de/public/conferences/nixcon2025","related":[]},{"guid":"871aa81e-509f-441f-8bbd-cb6fcca11055","title":"How I wish Bazel had nix develop","subtitle":null,"slug":"nixcon2025-56405-how-i-wish-bazel-had-ni","link":"https://talks.nixcon.org/nixcon-2025/talk/HMKXYP/","description":"Nix's package composition model makes developer environments a natural extension of its core abstractions. A simple shell.nix declaration combined with nix develop provides native tooling access and IDE integration that other build systems struggle to achieve without significant engineering investment.\n\nAt LinkedIn, I experienced this contrast firsthand while migrating Go repositories to Bazel. I spent six months reverse-engineering Bazel's sandbox internals, writing custom rules to extract SDK paths, generate direnv configurations, and create LSP settings files. This enabled developers to use native Go commands via shell and IDE within Bazel workspaces, which proved crucial for broader adoption (Bazelcon 2024 talk on this topic).\n\nIn this talk, I'll contrast months of custom engineering against Nix's declarative approach - just a few lines of config that solve the same problem in a manner that's harmonious with the build system.","original_language":"eng","persons":["Srini"],"tags":["56405","2025","nixcon2025","Aula","nixcon2025-eng"],"view_count":40,"promoted":false,"date":"2025-09-05T19:15:00.000+02:00","release_date":"2025-09-18T00:00:00.000+02:00","updated_at":"2026-03-30T22:00:05.157+02:00","length":308,"duration":308,"thumb_url":"https://static.media.ccc.de/media/events/nixcon/2025/56405-871aa81e-509f-441f-8bbd-cb6fcca11055.jpg","poster_url":"https://static.media.ccc.de/media/events/nixcon/2025/56405-871aa81e-509f-441f-8bbd-cb6fcca11055_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/nixcon/2025/56405-871aa81e-509f-441f-8bbd-cb6fcca11055.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/nixcon/2025/56405-871aa81e-509f-441f-8bbd-cb6fcca11055.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/nixcon2025-56405-how-i-wish-bazel-had-ni","url":"https://api.media.ccc.de/public/events/871aa81e-509f-441f-8bbd-cb6fcca11055","conference_title":"NixCon 2025","conference_url":"https://api.media.ccc.de/public/conferences/nixcon2025","related":[]}]}