{"$schema": "https://c3voc.de/schedule/schema.json", "generator": {"name": "pretalx", "version": "2026.1.1"}, "schedule": {"url": "https://talks.nixcon.org/nixcon-2024/schedule/", "version": "0.6", "base_url": "https://talks.nixcon.org", "conference": {"acronym": "nixcon-2024", "title": "NixCon 2024", "start": "2024-10-25", "end": "2024-10-27", "daysCount": 3, "timeslot_duration": "00:05", "time_zone_name": "Europe/Amsterdam", "colors": {"primary": "#5277c3"}, "rooms": [{"name": "Arena", "slug": "3554-arena", "guid": "e8695c4f-89d4-5fd5-bbc7-d17d7e06e297", "description": null, "capacity": 200}, {"name": "Woanders", "slug": "3595-woanders", "guid": "75013c7d-6729-543d-9560-058b7ed96329", "description": null, "capacity": null}], "tracks": [{"name": "Workshop", "slug": "4637-workshop", "color": "#FA0000"}, {"name": "Main room", "slug": "4638-main-room", "color": "#13471E"}], "days": [{"index": 1, "date": "2024-10-25", "day_start": "2024-10-25T04:00:00+02:00", "day_end": "2024-10-26T03:59:00+02:00", "rooms": {"Arena": [{"guid": "b6ae91b6-7ed6-5eed-b3fb-2389258607e0", "code": "YFVPSX", "id": 56828, "logo": null, "date": "2024-10-25T09:00:00+02:00", "start": "09:00", "duration": "00:30", "room": "Arena", "slug": "nixcon-2024-56828-opening", "url": "https://talks.nixcon.org/nixcon-2024/talk/YFVPSX/", "title": "Opening", "subtitle": "", "track": null, "type": "Happy Hour", "language": "en", "abstract": "Keynote", "description": "", "recording_license": "", "do_not_record": false, "persons": [], "links": [], "feedback_url": "https://talks.nixcon.org/nixcon-2024/talk/YFVPSX/feedback/", "origin_url": "https://talks.nixcon.org/nixcon-2024/talk/YFVPSX/", "attachments": []}, {"guid": "79b2c921-24ae-5091-abe5-635688f36da0", "code": "E9XWGC", "id": 56097, "logo": null, "date": "2024-10-25T09:30:00+02:00", "start": "09:30", "duration": "00:25", "room": "Arena", "slug": "nixcon-2024-56097-nix-state-of-the-union-2024", "url": "https://talks.nixcon.org/nixcon-2024/talk/E9XWGC/", "title": "Nix State of the Union 2024", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Cover the dynamic landscape of Nix's growth, innovation, and future possibilities. This session will provide a comprehensive overview of the major milestones Nix has achieved over the past year, the challenges we've faced, and the exciting developments on the horizon together with various Nix community leads!", "description": "We will be joined by a handful of our community leads across various teams to review core topics in the ecosystem. We will also be making a few call to actions for areas that need help or support!\r\nTopics will include:\r\n1. Nix in the Numbers - Data\r\n2. Nix Cache\r\n3. Nix Financials\r\n4. Nix Infra \r\n5. Nix Marketing\r\n6. Sustainable Nix\r\n7. Nix Survey", "recording_license": "", "do_not_record": false, "persons": [{"code": "WNKTLV", "name": "Ron Efroni", "avatar": "https://talks.nixcon.org/media/avatars/WNKTLV_uxr9w1k.webp", "biography": "Ron is the Treasurer and Board Member of the NixOS Foundation and the Co-Founder of Flox where he is building an easy way for engineers and teams to bring Nix to work.", "public_name": "Ron Efroni", "guid": "6e6be514-046c-5706-a132-d1ce5b4f73dd", "url": "https://talks.nixcon.org/nixcon-2024/speaker/WNKTLV/"}], "links": [], "feedback_url": "https://talks.nixcon.org/nixcon-2024/talk/E9XWGC/feedback/", "origin_url": "https://talks.nixcon.org/nixcon-2024/talk/E9XWGC/", "attachments": []}, {"guid": "bead5705-5b3c-51c2-a142-1c8af320081a", "code": "QVYXHD", "id": 56277, "logo": "https://talks.nixcon.org/media/nixcon-2024/submissions/QVYXHD/nixos-facter_FFd4KWW.svg", "date": "2024-10-25T10:05:00+02:00", "start": "10:05", "duration": "00:25", "room": "Arena", "slug": "nixcon-2024-56277-nixos-facter-declarative-hardware-configuration-for-nixos", "url": "https://talks.nixcon.org/nixcon-2024/talk/QVYXHD/", "title": "NixOS Facter: Declarative hardware configuration for NixOS", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "A quick overview of https://github.com/numtide/nixos-facter, discussing why it was created and the problems it aims to solve.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "DV9PRU", "name": "Brian McGee", "avatar": "https://talks.nixcon.org/media/avatars/DV9PRU_lAjxhL1.webp", "biography": "I've been writing software for many years and have worked with Nix/NixOS as part of Numtide for the last few.\r\n\r\nI publish a blog post every now and then: https://bmcgee.ie/posts", "public_name": "Brian McGee", "guid": "5ac1a726-faa6-5eb1-9d1f-0e4f1e016f3a", "url": "https://talks.nixcon.org/nixcon-2024/speaker/DV9PRU/"}], "links": [], "feedback_url": "https://talks.nixcon.org/nixcon-2024/talk/QVYXHD/feedback/", "origin_url": "https://talks.nixcon.org/nixcon-2024/talk/QVYXHD/", "attachments": []}, {"guid": "59c2557b-8baf-50ee-a095-7633f3a031fa", "code": "PZKQP8", "id": 54296, "logo": "https://talks.nixcon.org/media/nixcon-2024/submissions/PZKQP8/logo_QXqvi6s.svg", "date": "2024-10-25T10:40:00+02:00", "start": "10:40", "duration": "00:25", "room": "Arena", "slug": "nixcon-2024-54296-kubenix-leveraging-nixos-modules-to-generate-kubernetes-manifests", "url": "https://talks.nixcon.org/nixcon-2024/talk/PZKQP8/", "title": "Kubenix: Leveraging NixOS modules to generate Kubernetes manifests", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "In this talk, we take a look at the Kubenix project. Using Kubenix, you can generate Kubernetes manifests with Nix. We will dive into the technical details how Kubenix uses Kubernetes' OpenAPI spec to generate NixOS modules. I will also show you how to use Kubenix to deploy resources in your own cluster. No more templating YAML!", "description": "Kubenix is currently maintained by Bryton Hall and the repository can be found [on GitHub](https://github.com/hall/kubenix). It also has its own website over at [kubenix.org](https://kubenix.org/).", "recording_license": "", "do_not_record": false, "persons": [{"code": "9SYFWM", "name": "Pim Kunis", "avatar": "https://talks.nixcon.org/media/avatars/9SYFWM_uL5Zm2U.webp", "biography": "Pim Kunis is a Linux Engineer from the Netherlands. He is currently employed as a contractor for Sue, doing Linuxy things. One year ago, he graduated from the Master's Security and Network Engineering at the University of Amsterdam. He loves tinkering with his homelab, which has become even more fun since discovering Nix!", "public_name": "Pim Kunis", "guid": "5667f1f4-e5aa-5e19-a007-5010a486cd18", "url": "https://talks.nixcon.org/nixcon-2024/speaker/9SYFWM/"}], "links": [], "feedback_url": "https://talks.nixcon.org/nixcon-2024/talk/PZKQP8/feedback/", "origin_url": "https://talks.nixcon.org/nixcon-2024/talk/PZKQP8/", "attachments": []}, {"guid": "cdd644ad-5ba3-57ea-9929-834d808ecbc0", "code": "KJ7UFE", "id": 56175, "logo": null, "date": "2024-10-25T11:15:00+02:00", "start": "11:15", "duration": "00:25", "room": "Arena", "slug": "nixcon-2024-56175-deploying-random-ai-models-from-pip-nightmare-to-dream2nix", "url": "https://talks.nixcon.org/nixcon-2024/talk/KJ7UFE/", "title": "Deploying random AI models: from pip nightmare to dream2nix", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Or: how I stopped worrying and learned to love docker images", "description": "How can we take existing python software, and turn it into a docker image? Can we use the power of Nix? Can we make it easy?\r\n\r\nI'll tell you all about my new half-finished project, where I smash [dream2nix](https://github.com/nix-community/dream2nix) and [docker-tools](https://ryantm.github.io/nixpkgs/builders/images/dockertools/) together to deploy other people's AI models to the cloud in a reproducible manner.\r\n\r\nAlong the way, we'll have brief detours through [flake-parts](https://flake.parts/), docker internals and nvidia software.", "recording_license": "", "do_not_record": false, "persons": [{"code": "BXNTHC", "name": "Yorick van Pelt", "avatar": "https://talks.nixcon.org/media/avatars/BXNTHC_KIYM6ke.webp", "biography": "Yorick is the co-founder of [Datakami](https://datakami.nl/), a generative AI consulting company.\r\n\r\nHe installed NixOS in 2014 and can never go back.", "public_name": "Yorick van Pelt", "guid": "6ed68eb9-265a-5418-b369-93bc3c43ba38", "url": "https://talks.nixcon.org/nixcon-2024/speaker/BXNTHC/"}], "links": [], "feedback_url": "https://talks.nixcon.org/nixcon-2024/talk/KJ7UFE/feedback/", "origin_url": "https://talks.nixcon.org/nixcon-2024/talk/KJ7UFE/", "attachments": []}, {"guid": "0e1059fd-aba9-5774-a85e-be1e2cf62315", "code": "FLPMKH", "id": 54970, "logo": null, "date": "2024-10-25T11:50:00+02:00", "start": "11:50", "duration": "00:25", "room": "Arena", "slug": "nixcon-2024-54970-tvix", "url": "https://talks.nixcon.org/nixcon-2024/talk/FLPMKH/", "title": "Tvix", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Tvix is a modern design and implementation of the Nix package manager (GPLv3). It brings a modular architecture in which components such as the build environment or package store are replaceable, which enables new use-cases and platforms.", "description": "This talk will give an overview on the architecture, a status update on the current state of the project, and an outlook on the roadmap.", "recording_license": "", "do_not_record": false, "persons": [{"code": "ZQX7LX", "name": "flokli", "avatar": "https://talks.nixcon.org/media/avatars/ZQX7LX_heL16Z6.webp", "biography": null, "public_name": "flokli", "guid": "62d70a9f-9080-5003-9ab8-cc9a65bd0da9", "url": "https://talks.nixcon.org/nixcon-2024/speaker/ZQX7LX/"}], "links": [], "feedback_url": "https://talks.nixcon.org/nixcon-2024/talk/FLPMKH/feedback/", "origin_url": "https://talks.nixcon.org/nixcon-2024/talk/FLPMKH/", "attachments": [{"title": "Slides", "url": "/media/nixcon-2024/submissions/FLPMKH/resources/slides_TmxTJV1.pdf", "type": "related"}]}, {"guid": "6136b9a9-4a7a-5e5c-8c03-73a83ef5d5d4", "code": "R8ZBWW", "id": 56246, "logo": null, "date": "2024-10-25T13:25:00+02:00", "start": "13:25", "duration": "00:25", "room": "Arena", "slug": "nixcon-2024-56246-clan-fully-automated-distributed-nixos-management", "url": "https://talks.nixcon.org/nixcon-2024/talk/R8ZBWW/", "title": "Clan: Fully-automated distributed NixOS management", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Self-hosting services empowers you with greater control and flexibility over your data. However, maintaining such systems today often comes with significant technical challenges, including firewall/NAT configuration, data loss prevention, and security management.\r\n\r\nThe Clan project aims to lower the technical barriers of self-hosting with NixOS, making it accessible even to non-technical users. Our goal is to simplify the installation and maintenance of NixOS machines.\r\n\r\nIn this talk, we will present the new NixOS extensions we've developed to scale self-hosting, including VPN integration, backup management, secret management, a unified CLI for installation and updates, and an inventory system for managing clusters of machines.\r\n\r\nWe will also provide a sneak preview of the upcoming graphical user interface.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "WEWDGG", "name": "J\u00f6rg Thalheim", "avatar": "https://talks.nixcon.org/media/avatars/WEWDGG_yC8diIU.webp", "biography": "I create tools around Nix/NixOS: nixos-anywhere, disko, sops-nix, ...", "public_name": "J\u00f6rg Thalheim", "guid": "ee319c0c-666b-5782-a374-9aa4d2c736a2", "url": "https://talks.nixcon.org/nixcon-2024/speaker/WEWDGG/"}, {"code": "GMEKD3", "name": "Kenji Berthold", "avatar": "https://talks.nixcon.org/media/avatars/GMEKD3_HtqfXBs.webp", "biography": "a NixOS hacker.\r\nMore information at:\r\nhttps://kenji.page/", "public_name": "Kenji Berthold", "guid": "72211c6d-b428-5c2c-98dd-c66ac1bb2f63", "url": "https://talks.nixcon.org/nixcon-2024/speaker/GMEKD3/"}], "links": [], "feedback_url": "https://talks.nixcon.org/nixcon-2024/talk/R8ZBWW/feedback/", "origin_url": "https://talks.nixcon.org/nixcon-2024/talk/R8ZBWW/", "attachments": [{"title": "Slides", "url": "/media/nixcon-2024/submissions/R8ZBWW/resources/nixcon_kUiTAuY.pdf", "type": "related"}]}, {"guid": "dfd1475f-89bc-51ca-a690-9ff3d6c6aade", "code": "RDZVFH", "id": 56274, "logo": null, "date": "2024-10-25T14:00:00+02:00", "start": "14:00", "duration": "00:10", "room": "Arena", "slug": "nixcon-2024-56274-hashes-all-the-way-down", "url": "https://talks.nixcon.org/nixcon-2024/talk/RDZVFH/", "title": "hashes all the way down", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Nix and similar systems are based on hashing their inputs.\r\nI took a really close look at how this works, and I'd like to help you understand it better as well.", "description": "It's quite difficult to really understand how the hashing of build inputs works in Nix.\r\nI think one of the reasons for this is that people talking about this, and also the terminology that they use (e.g. content-addressing vs input-addressing), is not about how build inputs are hashed, but about how contents of the Nix store are addressed.\r\nThe way Nix is designed, those things are related, but how they are related is complicated, and I don't think we have good terminology for the bits and pieces involved in the hashing part.\r\n\r\nSo, ... I took some definitions from the *Build Systems \u00e0 la Carte* paper, which explain this, added a few definitions of my own, so we can name and talk about the bits and pieces involved, and I'm going to walk you through that.\r\nIf that does not sound like fun to you, think of it more as us delving into the abyss of terminology and pedantry together. I am pretty sure there are quite a few people at NixCon who find that appealing.\r\n\r\nIf you get stuck in said abyss, come talk to me. I am happy to spend NixCon just explaining this over and over again.", "recording_license": "", "do_not_record": false, "persons": [{"code": "HMYGKG", "name": "Martin Schwaighofer", "avatar": "https://talks.nixcon.org/media/avatars/HMYGKG_Upm8TyP.webp", "biography": "Martin Schwaighofer is a PhD student at JKU in Austria, interested in proving the link between a running system and it's source code.", "public_name": "Martin Schwaighofer", "guid": "747e896f-f8d7-5085-aa1c-2b40bf7b5dcf", "url": "https://talks.nixcon.org/nixcon-2024/speaker/HMYGKG/"}], "links": [], "feedback_url": "https://talks.nixcon.org/nixcon-2024/talk/RDZVFH/feedback/", "origin_url": "https://talks.nixcon.org/nixcon-2024/talk/RDZVFH/", "attachments": [{"title": "Slides", "url": "/media/nixcon-2024/submissions/RDZVFH/resources/nixcon2024-hashes-all-the-way-down_3szUAzq.pdf", "type": "related"}]}, {"guid": "c7361a6b-fee5-5eaf-978e-ebc8240e0d13", "code": "KEJM9Y", "id": 56447, "logo": "https://talks.nixcon.org/media/nixcon-2024/submissions/KEJM9Y/lassulus_I5hpyYA.jpeg", "date": "2024-10-25T14:20:00+02:00", "start": "14:20", "duration": "00:30", "room": "Arena", "slug": "nixcon-2024-56447-deterministic-firmware-with-nix", "url": "https://talks.nixcon.org/nixcon-2024/talk/KEJM9Y/", "title": "Deterministic Firmware with Nix", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "This talk explores the application of Nix's deterministic build principles to firmware development, with a special focus on integrating hardware-in-the-loop (HIL) testing into CI/CD pipelines. We'll discuss how Nix can enhance firmware reliability, security, and reproducibility by ensuring consistent builds across different environments.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "AQFCVA", "name": "\u00d3li", "avatar": "https://talks.nixcon.org/media/avatars/AQFCVA_vLZ8GLG.webp", "biography": "Hi there \ud83d\udc4b My name is \u00d3li, I run Genki, a company making products for musicians. We also do consulting on firmware development (including Nix).", "public_name": "\u00d3li", "guid": "2e7a0c5c-9646-5915-ac35-0e70a0004b23", "url": "https://talks.nixcon.org/nixcon-2024/speaker/AQFCVA/"}], "links": [], "feedback_url": "https://talks.nixcon.org/nixcon-2024/talk/KEJM9Y/feedback/", "origin_url": "https://talks.nixcon.org/nixcon-2024/talk/KEJM9Y/", "attachments": []}, {"guid": "aa19e3ab-01b1-58e5-9816-828ad62dc0f4", "code": "J7V3BM", "id": 55823, "logo": null, "date": "2024-10-25T15:00:00+02:00", "start": "15:00", "duration": "00:25", "room": "Arena", "slug": "nixcon-2024-55823-nix-as-the-swiss-army-knife-in-cloud-development-environments", "url": "https://talks.nixcon.org/nixcon-2024/talk/J7V3BM/", "title": "Nix as the Swiss Army Knife in Cloud Development Environments", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "In cloud-based development environments, flexibility and on-demand access to the right tools are essential. While many people think of Nix in terms of reproducibility, I use it in a different, somewhat weird way\u2014to get exactly what I need, when I need it.\r\n\r\nIn this talk, I\u2019ll demonstrate how Nix can be a \"Swiss Army knife\" in GitHub Codespaces, allowing me to manage complex development environments on the fly without much burden. This talk will use Codespaces as an example, but the same techniques can be applied to any remote environment.\r\n\r\nJoin me in a discovery of how Nix saved my day many times when contributing on many projects I don't normally work on.", "description": "This is an entry level talk. It's mostly to show that Nix can be used even in a simple way, without going too deep in its understanding.", "recording_license": "", "do_not_record": false, "persons": [{"code": "YWJD73", "name": "Raffaele Di Fazio", "avatar": "https://talks.nixcon.org/media/avatars/YWJD73_lnYtTsy.webp", "biography": "I'm a software engineer currently working at GitHub where I focus on continuous delivery and Kubernetes related topics. I am also the maintainer of the ExternalDNS project.", "public_name": "Raffaele Di Fazio", "guid": "cc56fb73-40f4-5c1c-823f-93d8fc396205", "url": "https://talks.nixcon.org/nixcon-2024/speaker/YWJD73/"}], "links": [], "feedback_url": "https://talks.nixcon.org/nixcon-2024/talk/J7V3BM/feedback/", "origin_url": "https://talks.nixcon.org/nixcon-2024/talk/J7V3BM/", "attachments": []}, {"guid": "44afb0bf-dba3-531c-89a9-2a554d6c1cbb", "code": "XTCGNB", "id": 56239, "logo": null, "date": "2024-10-25T15:35:00+02:00", "start": "15:35", "duration": "00:25", "room": "Arena", "slug": "nixcon-2024-56239-scalable-and-secure-nixos-deploys-on-aws", "url": "https://talks.nixcon.org/nixcon-2024/talk/XTCGNB/", "title": "Scalable and secure NixOS deploys on AWS", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "In this talk you will learn best practices on how to build your own NixOS images and securely deploy them using autosaling groups, IAM roles and AWS Systems Manager , terraform and GitHub actions as an alternative to NixOps", "description": "At Mercury.com we deploy to production dozens of times per day on a fleet of NixOS servers on AWS.  We also host a plethora of supporting services on NixOS like a GitHub actions runner cluster, Prometheus,  and Vault.\r\n\r\nIn this talk I want to show the various techniques that we use to deploy NixOS at scale. We will cover topics like how to set up your own S3 cache, how to build custom AMIs, how to use Auto Scaling Groups with Instance Refresh for zero downtime rolling releases of stateless software and how to use AWS Systems Manager as an alternative for NixOps to manage long lived stateful services.\r\n\r\nI will also show how SSM can be used to gain secure access to servers without exposing them to the public internet and without the need of a bastion host.\r\n\r\nI will finally cover how to trigger deploys of your infrastructure from GitHub Actions and how we use Workload Identity (OIDC tokens and IAM roles) as a way to do these securely deploys without needing any static shared AWS Credentials and bastion hosts.\r\n\r\nI am planning to open source the Terraform modules and GitHub actions workflows so that you too can quickly set up a security hardened and production ready NixOS deploy pipeline on AWS.\r\n\r\nI would also like to briefly go over the roadmap of improvements I am planning for the AWS NixOS images (https://github.com/nixos/amis)", "recording_license": "", "do_not_record": false, "persons": [{"code": "QK7SWS", "name": "Arian van Putten", "avatar": null, "biography": null, "public_name": "Arian van Putten", "guid": "edc70fc3-a886-54fd-a2a6-40a2c5154641", "url": "https://talks.nixcon.org/nixcon-2024/speaker/QK7SWS/"}], "links": [{"title": "Slides", "url": "https://arianvp.github.io/nixcon2024/slides/reveal.js-master/", "type": "related"}], "feedback_url": "https://talks.nixcon.org/nixcon-2024/talk/XTCGNB/feedback/", "origin_url": "https://talks.nixcon.org/nixcon-2024/talk/XTCGNB/", "attachments": []}, {"guid": "13afac77-4cfa-573b-a4ed-3c7b615d2d2d", "code": "WN9LDX", "id": 54826, "logo": null, "date": "2024-10-25T16:10:00+02:00", "start": "16:10", "duration": "00:25", "room": "Arena", "slug": "nixcon-2024-54826-thymis-web-front-end-for-managing-multiple-nixos-devices", "url": "https://talks.nixcon.org/nixcon-2024/talk/WN9LDX/", "title": "Thymis - Web Front-end for Managing Multiple NixOS Devices", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "We want to show the community https://github.com/Thymis-io/thymis which is a web front-end for managing multiple NixOS devices.", "description": "In this talk, we\u2019ll explore how Thymis works, from setup to daily use. We\u2019ll demonstrate its key features and how it helps streamline device management in a NixOS environment, making life easier for sysadmins and developers.", "recording_license": "", "do_not_record": false, "persons": [{"code": "U8QWYC", "name": "Eli Kogan-Wang", "avatar": "https://talks.nixcon.org/media/avatars/U8QWYC_YqjbFEz.webp", "biography": "I've been using NixOS since 2019 and I've worked at the Flying Circus IO GmbH since I started my CompSci Bachelors. During that time in my free time I've started the Thymis.io Open Source project to manage devices using NixOS with a few others with the aim of bringing NixOS to a wider audience.", "public_name": "Eli Kogan-Wang", "guid": "a66f5920-1cc1-5982-9404-c297490d86bc", "url": "https://talks.nixcon.org/nixcon-2024/speaker/U8QWYC/"}, {"code": "7NRXQV", "name": "Adrian Block", "avatar": "https://talks.nixcon.org/media/avatars/7NRXQV_66BHKWA.webp", "biography": "I am currently doing my master's in computer science and working in the manufacturing area as a software developer, but I am mainly doing DevOps.", "public_name": "Adrian Block", "guid": "2e9d948c-65d3-5d31-81af-a45d04a5d6ce", "url": "https://talks.nixcon.org/nixcon-2024/speaker/7NRXQV/"}], "links": [], "feedback_url": "https://talks.nixcon.org/nixcon-2024/talk/WN9LDX/feedback/", "origin_url": "https://talks.nixcon.org/nixcon-2024/talk/WN9LDX/", "attachments": []}, {"guid": "62a91213-ab7d-5361-9942-5737cf5c0193", "code": "XPXBHT", "id": 56358, "logo": null, "date": "2024-10-25T16:45:00+02:00", "start": "16:45", "duration": "00:10", "room": "Arena", "slug": "nixcon-2024-56358-introduction-to-nix-bitcoin", "url": "https://talks.nixcon.org/nixcon-2024/talk/XPXBHT/", "title": "Introduction to nix-bitcoin", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "In this talk, we will explore nix-bitcoin, a project that leverages the power of NixOS to simplify the deployment and management of Bitcoin nodes securely.\r\n\r\nDuring the presentation, we will see how to use krops to deploy NixOS systems", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "WDVLQP", "name": "Jo\u00e3o Thallis", "avatar": "https://talks.nixcon.org/media/avatars/WDVLQP_zlJjUut.webp", "biography": "Jo\u00e3o Thallis is a Product Engineer at [Turn.io](Turn.io). \r\n\r\nHe started his programming journey creating games in his teenage years. He\u2019s working with functional programming using Elixir since 2018.\r\n\r\nHe lives in Brazil, loves cycling, traveling, open source, Bitcoin, nix and neovim\r\n\r\nMy website: https://joaothallis.com", "public_name": "Jo\u00e3o Thallis", "guid": "72677da9-3e58-5789-8099-7e4c7556c82a", "url": "https://talks.nixcon.org/nixcon-2024/speaker/WDVLQP/"}], "links": [], "feedback_url": "https://talks.nixcon.org/nixcon-2024/talk/XPXBHT/feedback/", "origin_url": "https://talks.nixcon.org/nixcon-2024/talk/XPXBHT/", "attachments": []}, {"guid": "75f501b1-7696-5c22-a608-767c885eb832", "code": "AS373H", "id": 56292, "logo": null, "date": "2024-10-25T17:05:00+02:00", "start": "17:05", "duration": "00:45", "room": "Arena", "slug": "nixcon-2024-56292-rebuilding-builders-instead-of-trusting-trust", "url": "https://talks.nixcon.org/nixcon-2024/talk/AS373H/", "title": "rebuilding builders instead of trusting trust", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "The key principles Nix is built on are great for supply chain security.\r\nThose principles could take us much further, if we extended or replaced the signatures that provide transport security for binary caches today, in favor of a more powerful mechanism.\r\nA mechanism that works end to end from builder to user, includes provenance data about the builder, and ideally makes that provenance data verifiable.", "description": "Adopting Trustix, or extending the existing signing scheme are both possible ways to add builder provenance data, but comparing those options is not the focus of my talk.\r\nInstead I would like to focus on the kind of data that we might want to add, and the benefit we would obtain.\r\nThis starts simple with a boolean flag, which lets signers claim to have built a derivation themselves, all the way up to a source link and remote attestation, which make it possible to verify which software is running on the builder.", "recording_license": "", "do_not_record": false, "persons": [{"code": "HMYGKG", "name": "Martin Schwaighofer", "avatar": "https://talks.nixcon.org/media/avatars/HMYGKG_Upm8TyP.webp", "biography": "Martin Schwaighofer is a PhD student at JKU in Austria, interested in proving the link between a running system and it's source code.", "public_name": "Martin Schwaighofer", "guid": "747e896f-f8d7-5085-aa1c-2b40bf7b5dcf", "url": "https://talks.nixcon.org/nixcon-2024/speaker/HMYGKG/"}], "links": [{"title": "Paper", "url": "https://doi.org/10.1145/3689944.3696169", "type": "related"}], "feedback_url": "https://talks.nixcon.org/nixcon-2024/talk/AS373H/feedback/", "origin_url": "https://talks.nixcon.org/nixcon-2024/talk/AS373H/", "attachments": [{"title": "Slides", "url": "/media/nixcon-2024/submissions/AS373H/resources/nixcon2024-rebuilding-builders_KXEA1Ss.pdf", "type": "related"}]}, {"guid": "fa792b23-785a-5491-b271-e65a47a67a58", "code": "VYFP7L", "id": 56278, "logo": null, "date": "2024-10-25T18:00:00+02:00", "start": "18:00", "duration": "00:25", "room": "Arena", "slug": "nixcon-2024-56278-the-c-api-is-surprisingly-fun", "url": "https://talks.nixcon.org/nixcon-2024/talk/VYFP7L/", "title": "The C API is Surprisingly Fun", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Presenting the C API to Nix", "description": "The C API allows using the core of Nix in useful ways. Create your own utilities with this interface. We present an overview, examples with multiple languages, and recommendations for improvements.", "recording_license": "", "do_not_record": false, "persons": [{"code": "F9KJYR", "name": "Thomas Bereknyei", "avatar": "https://talks.nixcon.org/media/avatars/F9KJYR_yxvFO3C.webp", "biography": "I am passionate about advocating for Nix and Nix-based technology. I think Nix is a superpower that should be available to all developers and something that can help the humanity manage the increasing complexity of software. Let's bring it to work, home lab, school, basement, cloud, enterprise, space station, hardware, ......  to the world!", "public_name": "Thomas Bereknyei", "guid": "883690fb-af2b-55d3-a21d-f29e6ccfaa47", "url": "https://talks.nixcon.org/nixcon-2024/speaker/F9KJYR/"}, {"code": "TSUYEL", "name": "Yannik Sander", "avatar": null, "biography": null, "public_name": "Yannik Sander", "guid": "bb4962ae-8186-53ac-aeee-4995f854308b", "url": "https://talks.nixcon.org/nixcon-2024/speaker/TSUYEL/"}], "links": [{"title": "Slides", "url": "https://docs.google.com/presentation/d/1L4Lh3h7IuWQNAb-qTm41wqYuJA3jBkFOJzKTOgz0cX8/edit?usp=sharing", "type": "related"}], "feedback_url": "https://talks.nixcon.org/nixcon-2024/talk/VYFP7L/feedback/", "origin_url": "https://talks.nixcon.org/nixcon-2024/talk/VYFP7L/", "attachments": [{"title": "Slides", "url": "/media/nixcon-2024/submissions/VYFP7L/resources/C-API_RE6RtQ2.pdf", "type": "related"}]}, {"guid": "15a95f24-e6de-51c2-a357-b7aab1f7ff70", "code": "NVYVW7", "id": 56092, "logo": null, "date": "2024-10-25T18:35:00+02:00", "start": "18:35", "duration": "00:15", "room": "Arena", "slug": "nixcon-2024-56092-buildbot-nix-a-modern-open-source-nix-native-ci-cd", "url": "https://talks.nixcon.org/nixcon-2024/talk/NVYVW7/", "title": "buildbot-nix: A modern open-source Nix-native CI/CD", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Started during a [Mob-programming](https://en.wikipedia.org/wiki/Team_programming#Mob_programming) session at NixCon 2023,\r\n**buildbot-nix** has evolved into a full-featured CI/CD system for Nix, based on Buildbot. \r\nBuildbot is a mature continuous integration framework used by major software projects such as Python, LLVM, and OpenZFS. \r\n\r\nBuildbot-nix introduces a zero-configuration setup for flake-based repositories, featuring parallel evaluation, binary cache integration, build failure caching, Gitea/GitHub integration, and continuous deployment support based on Hercules-CI effects.\r\n\r\nWe have deployed buildbot-nix in the nix-community GitHub organization to provide fast CI for numerous projects.\r\n\r\nIn this talk, we will showcase the current features we support and share our plans for the next year.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "PE8JTT", "name": "Richard Bre\u017e\u00e1k", "avatar": null, "biography": null, "public_name": "Richard Bre\u017e\u00e1k", "guid": "fbbd28dc-d1bd-5b46-9c18-5d75d42a5faa", "url": "https://talks.nixcon.org/nixcon-2024/speaker/PE8JTT/"}], "links": [], "feedback_url": "https://talks.nixcon.org/nixcon-2024/talk/NVYVW7/feedback/", "origin_url": "https://talks.nixcon.org/nixcon-2024/talk/NVYVW7/", "attachments": []}, {"guid": "b5cee6d0-b8df-5b8a-b2a9-88f410012505", "code": "KFQVJS", "id": 56259, "logo": null, "date": "2024-10-25T19:00:00+02:00", "start": "19:00", "duration": "00:25", "room": "Arena", "slug": "nixcon-2024-56259-introducing-nix-make", "url": "https://talks.nixcon.org/nixcon-2024/talk/KFQVJS/", "title": "Introducing nix-make", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "nix-make[1] is a C and C++ build system supporting incremental compilation. It\r\nimplements a thin layer of dependency graph construction in nixlang and lets\r\nNix do the heavy lifting.\r\n\r\n[1] https://codeberg.org/tobim/nix-make", "description": "This talk starts with an explanation of the user interface and a demo. I will\r\nshow what benefits a Nix-native build system brings compared to traditional\r\nalternatives. I'll then touch on some of the convenience tooling that helps\r\nwith integrating misbehaved dependencies. Lastly, I'll explain how it is\r\nimplemented and list some of the problems that are yet to be overcome.", "recording_license": "", "do_not_record": false, "persons": [{"code": "GAH3W3", "name": "Tobias Mayer", "avatar": "https://talks.nixcon.org/media/avatars/GAH3W3_tYbhQ91.webp", "biography": "Graduated with a \"Diplom\" in CS from the FAU Erlangen in Germany. Worked in video coding research at an institute that should not be named for a few years before going into the industry.\r\nDiscovered Nix while exploring Haskell at that time and immediately fell in love. Opened my first PRs to nixpkgs in 2018 and became a regular but low-frequency contributor.\r\nCurrently working as a Programmer/Architect at a data-focussed Cybersecurity startup in Hamburg, where I introduced Nix to manage development environments and as a tool to build static binaries for distribution.", "public_name": "Tobias Mayer", "guid": "176d3570-0e5e-56ec-8f9d-a86462295c45", "url": "https://talks.nixcon.org/nixcon-2024/speaker/GAH3W3/"}], "links": [], "feedback_url": "https://talks.nixcon.org/nixcon-2024/talk/KFQVJS/feedback/", "origin_url": "https://talks.nixcon.org/nixcon-2024/talk/KFQVJS/", "attachments": []}, {"guid": "63060cc7-69a0-5fdc-813c-22628913bc09", "code": "BEVPMA", "id": 57529, "logo": null, "date": "2024-10-25T19:35:00+02:00", "start": "19:35", "duration": "00:35", "room": "Arena", "slug": "nixcon-2024-57529-lightning-talk-block-1", "url": "https://talks.nixcon.org/nixcon-2024/talk/BEVPMA/", "title": "Lightning talk block #1", "subtitle": "", "track": null, "type": "Lightning talk", "language": "en", "abstract": "Block for lightning talks with minimal  break in between.  Order will be determined shortly before it starts, and every speaker should be present at the beginning of the talk!", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "YZCBRN", "name": "Bryan Honof", "avatar": "https://talks.nixcon.org/media/avatars/YZCBRN_hNdM5uG.webp", "biography": "Bryan's been interested in computing for as long as he can remember. Even studying electronic engineering, just to understand how a computer could add 2 numbers together on a transistor level.\r\n\r\nRecently, he's been interested in the smaller details of operating systems. How they work, why they look they way they do, and why LISP machines never took off.\r\n\r\nPlease don't hesitate to approach him about anything tech, or music, related. But, **be warned**, he has a tendency to just keep on talking once he gets going.\r\n\r\nBryan's currently working at [Flox](https://flox.dev/), where he uses Nix daily, and is trying to bring Nix to a wider audience in a nicer package.", "public_name": "Bryan Honof", "guid": "f5c959a5-4c6d-533b-a7cc-77e4d9aa6e69", "url": "https://talks.nixcon.org/nixcon-2024/speaker/YZCBRN/"}, {"code": "NQYPQD", "name": "Arnout Engelen", "avatar": "https://talks.nixcon.org/media/avatars/NQYPQD_bizsZsO.webp", "biography": "Arnout 'raboof' Engelen is an independent Open Source software engineer and has been a nixpkgs committer since 2021, notably spearheading the Reproducible Builds effort within NixOS. Available for freelance Open Source software development engagements aside acting as Security Response Program Manager for the Apache Software Foundation.", "public_name": "Arnout Engelen", "guid": "acfa6466-5a33-5b07-b9d4-60717a075e4e", "url": "https://talks.nixcon.org/nixcon-2024/speaker/NQYPQD/"}, {"code": "XLXTMM", "name": "Nitin Passa", "avatar": null, "biography": "Hi, I'm Nitin! I'm currently working as a machine learning engineer on the research platform at Two Sigma. Before that, I was at Cruise Automation working on AI planning for the self-driving car.\r\n\r\nI love using NixOS to tinker and self-host software.  I also host the New York Nix Users Group!", "public_name": "Nitin Passa", "guid": "efb146b9-4917-5969-ba62-2f2be2b7799f", "url": "https://talks.nixcon.org/nixcon-2024/speaker/XLXTMM/"}, {"code": "F9KJYR", "name": "Thomas Bereknyei", "avatar": "https://talks.nixcon.org/media/avatars/F9KJYR_yxvFO3C.webp", "biography": "I am passionate about advocating for Nix and Nix-based technology. I think Nix is a superpower that should be available to all developers and something that can help the humanity manage the increasing complexity of software. Let's bring it to work, home lab, school, basement, cloud, enterprise, space station, hardware, ......  to the world!", "public_name": "Thomas Bereknyei", "guid": "883690fb-af2b-55d3-a21d-f29e6ccfaa47", "url": "https://talks.nixcon.org/nixcon-2024/speaker/F9KJYR/"}, {"code": "QAAJG9", "name": "Shivaraj B H", "avatar": "https://talks.nixcon.org/media/avatars/QAAJG9_kX4ER7d.webp", "biography": "I work on helping teams across Juspay adopt Nix, building cool tools for both internal use and the open-source community. As a Nix aficionado, I love installing NixOS wherever I can.", "public_name": "Shivaraj B H", "guid": "e2fb9f88-c7c4-5d87-ae91-bbc8759d594d", "url": "https://talks.nixcon.org/nixcon-2024/speaker/QAAJG9/"}, {"code": "VU7XNK", "name": "Roland Coeurjoly", "avatar": "https://talks.nixcon.org/media/avatars/VU7XNK_yKxitMP.webp", "biography": "Curious human interested in learning and helping.", "public_name": "Roland Coeurjoly", "guid": "1f6c0f76-dccf-560c-b775-d241c4c63275", "url": "https://talks.nixcon.org/nixcon-2024/speaker/VU7XNK/"}], "links": [{"title": "services-flake; Services simplified for Dev/CI workflows", "url": "https://github.com/shivaraj-bh/nixcon-2024-services-flake", "type": "related"}], "feedback_url": "https://talks.nixcon.org/nixcon-2024/talk/BEVPMA/feedback/", "origin_url": "https://talks.nixcon.org/nixcon-2024/talk/BEVPMA/", "attachments": [{"title": "Slide deck: Living in an experimental world - Bryan Honof", "url": "/media/nixcon-2024/submissions/BEVPMA/resources/nixcon-2024-living-in-an-experimental-world_CD9SG3z.pdf", "type": "related"}, {"title": "Slide deck: Python Packaging with AI", "url": "/media/nixcon-2024/submissions/BEVPMA/resources/nixcon-2024-python-packaging-with-ai-slides_20doDhH.pdf", "type": "related"}, {"title": "Slide deck: Why Nix is Great for Software Freedom - Arnout Engelen", "url": "/media/nixcon-2024/submissions/BEVPMA/resources/nixcon-2024-wh_aXz1xMo.pdf", "type": "related"}]}], "Woanders": [{"guid": "897451e1-0c59-577b-aeb8-ea2a1d476d0c", "code": "B38V7Z", "id": 56065, "logo": null, "date": "2024-10-25T10:05:00+02:00", "start": "10:05", "duration": "04:00", "room": "Woanders", "slug": "nixcon-2024-56065-lecture-1-an-introduction-to-nix-2023-2024-flox-university", "url": "https://talks.nixcon.org/nixcon-2024/talk/B38V7Z/", "title": "Lecture #1 - An Introduction to Nix (2023-2024 - Flox University)", "subtitle": "", "track": null, "type": "Workshop/Training - Select this if you are planning on running a training for attendees", "language": "en", "abstract": "We know how daunting it can be to start hacking with/on Nix.\r\nLet's teach you the first steps on your road to declarative greatness in this lecture style workshop.", "description": "Come join us in this lecture-style workshop where knowledgeable Nix community members and maintainers will help you grasp that which is Nix.\r\nWe'll leave plenty of room for questions and hacking on your own Nix related projects.\r\n\r\nWe'll try and cover the following topics, but questions are more important\u2014and probably more interesting and relevant than the lecture\u2014, so don't be afraid to ask!\r\n\r\n- Nix, as in the package manager\r\n- Nix, as in the language\r\n- NixPkgs, as in the package set that uses Nix the language\r\n- NixOS modules, as in the configuration as code using the Nix language\r\n- NixOS, as in the Linux distro that uses Nix the package manager and the NixOS module system\r\n- Flakes, as in the way Nix expressions can be shipped around\r\n- Stores, as in the place where Nix stores all its data\r\n- Random tidbits", "recording_license": "", "do_not_record": false, "persons": [{"code": "YZCBRN", "name": "Bryan Honof", "avatar": "https://talks.nixcon.org/media/avatars/YZCBRN_hNdM5uG.webp", "biography": "Bryan's been interested in computing for as long as he can remember. Even studying electronic engineering, just to understand how a computer could add 2 numbers together on a transistor level.\r\n\r\nRecently, he's been interested in the smaller details of operating systems. How they work, why they look they way they do, and why LISP machines never took off.\r\n\r\nPlease don't hesitate to approach him about anything tech, or music, related. But, **be warned**, he has a tendency to just keep on talking once he gets going.\r\n\r\nBryan's currently working at [Flox](https://flox.dev/), where he uses Nix daily, and is trying to bring Nix to a wider audience in a nicer package.", "public_name": "Bryan Honof", "guid": "f5c959a5-4c6d-533b-a7cc-77e4d9aa6e69", "url": "https://talks.nixcon.org/nixcon-2024/speaker/YZCBRN/"}, {"code": "F9KJYR", "name": "Thomas Bereknyei", "avatar": "https://talks.nixcon.org/media/avatars/F9KJYR_yxvFO3C.webp", "biography": "I am passionate about advocating for Nix and Nix-based technology. I think Nix is a superpower that should be available to all developers and something that can help the humanity manage the increasing complexity of software. Let's bring it to work, home lab, school, basement, cloud, enterprise, space station, hardware, ......  to the world!", "public_name": "Thomas Bereknyei", "guid": "883690fb-af2b-55d3-a21d-f29e6ccfaa47", "url": "https://talks.nixcon.org/nixcon-2024/speaker/F9KJYR/"}], "links": [], "feedback_url": "https://talks.nixcon.org/nixcon-2024/talk/B38V7Z/feedback/", "origin_url": "https://talks.nixcon.org/nixcon-2024/talk/B38V7Z/", "attachments": [{"title": "Slide deck", "url": "/media/nixcon-2024/submissions/B38V7Z/resources/nixcon-2024-berlin-workshop_RMW7v4H.pdf", "type": "related"}]}, {"guid": "5a06309c-4ce1-5721-b32d-4eb7a24fa7d8", "code": "QYC7BA", "id": 55919, "logo": "https://talks.nixcon.org/media/nixcon-2024/submissions/QYC7BA/integration-tests_JLilnQy.png", "date": "2024-10-25T14:20:00+02:00", "start": "14:20", "duration": "02:00", "room": "Woanders", "slug": "nixcon-2024-55919-mastering-nixos-integration-tests-advanced-techniques-for-multi-host-scenarios-and-fast-and-robust-integration-testing", "url": "https://talks.nixcon.org/nixcon-2024/talk/QYC7BA/", "title": "Mastering NixOS Integration Tests: Advanced Techniques for Multi-Host Scenarios and Fast and Robust Integration Testing", "subtitle": "", "track": null, "type": "Workshop/Training - Select this if you are planning on running a training for attendees", "language": "en", "abstract": "In this hands-on workshop, we\u2019ll take a deep dive into the powerful NixOS Integration Test Driver and its capabilities. Over the course of two hours, you\u2019ll learn how to leverage the test driver to simulate complex networked environments with multiple NixOS hosts and different virtual networks. We\u2019ll also explore the interactive mode for debugging and present best practices to avoid flaky tests, ensuring reliable results in real-world scenarios. If you\u2019re looking to enhance your NixOS testing expertise and streamline your CI/CD pipelines, this session is for you!", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "KWCVSS", "name": "Jacek Galowicz", "avatar": "https://talks.nixcon.org/media/avatars/KWCVSS_XmtxSV2.webp", "biography": "Jacek Galowicz is the CEO of Nixcademy and Applicative Systems GmbH, where he has trained over 200 engineers in Nix and NixOS and helped numerous companies accelerate their adoption of these technologies. Before founding these companies, Jacek co-founded Cyberus Technology GmbH, where he worked on hypervisor technology and advanced test automation. He has an extensive background in the security and operating systems industries, and as a software engineer, Jacek ported the NixOS integration test driver to Python in 2019. He is also the author of the C++17 STL Cookbook.", "public_name": "Jacek Galowicz", "guid": "9a1f0256-70eb-5e9f-b91c-f3e4bfa3e4a4", "url": "https://talks.nixcon.org/nixcon-2024/speaker/KWCVSS/"}], "links": [], "feedback_url": "https://talks.nixcon.org/nixcon-2024/talk/QYC7BA/feedback/", "origin_url": "https://talks.nixcon.org/nixcon-2024/talk/QYC7BA/", "attachments": []}, {"guid": "40d684be-c6c2-521b-93e9-16a80739e31c", "code": "3JH8BU", "id": 56220, "logo": null, "date": "2024-10-25T16:55:00+02:00", "start": "16:55", "duration": "01:20", "room": "Woanders", "slug": "nixcon-2024-56220-speed-dating", "url": "https://talks.nixcon.org/nixcon-2024/talk/3JH8BU/", "title": "Speed Dating", "subtitle": "", "track": null, "type": "Workshop/Training - Select this if you are planning on running a training for attendees", "language": "en", "abstract": "Looking for work? Looking for someone to work for you? This is the place to meet\r\nLooking for a maintainer for a project? Want to maintain a project? This can also be done here!", "description": "Like speed dating but for nix jobs. If you have a job position to fill, please show up :) if you want a job, also please show up!", "recording_license": "", "do_not_record": false, "persons": [{"code": "3YSM77", "name": "lassulus", "avatar": "https://talks.nixcon.org/media/avatars/3YSM77_qeJOUaP.webp", "biography": "Wuff Wuff", "public_name": "lassulus", "guid": "a06da2c9-f3ef-5000-8cb1-c66e8ccb3f9a", "url": "https://talks.nixcon.org/nixcon-2024/speaker/3YSM77/"}], "links": [], "feedback_url": "https://talks.nixcon.org/nixcon-2024/talk/3JH8BU/feedback/", "origin_url": "https://talks.nixcon.org/nixcon-2024/talk/3JH8BU/", "attachments": []}]}}, {"index": 2, "date": "2024-10-26", "day_start": "2024-10-26T04:00:00+02:00", "day_end": "2024-10-27T03:59:00+01:00", "rooms": {"Arena": [{"guid": "b4de32fa-42bc-533d-be5a-534bbaa46fc5", "code": "XWCF3W", "id": 56288, "logo": null, "date": "2024-10-26T09:00:00+02:00", "start": "09:00", "duration": "00:25", "room": "Arena", "slug": "nixcon-2024-56288-nix-constitutional-assembly-panel", "url": "https://talks.nixcon.org/nixcon-2024/talk/XWCF3W/", "title": "Nix Constitutional Assembly Panel", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Join us for a 25 minute panel conversation with the NCA members who drove the latest improvements and evolution of Nix governance. We will cover key topics, take questions live and reach out to the community ahead of time for top questions!", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "WNKTLV", "name": "Ron Efroni", "avatar": "https://talks.nixcon.org/media/avatars/WNKTLV_uxr9w1k.webp", "biography": "Ron is the Treasurer and Board Member of the NixOS Foundation and the Co-Founder of Flox where he is building an easy way for engineers and teams to bring Nix to work.", "public_name": "Ron Efroni", "guid": "6e6be514-046c-5706-a132-d1ce5b4f73dd", "url": "https://talks.nixcon.org/nixcon-2024/speaker/WNKTLV/"}], "links": [], "feedback_url": "https://talks.nixcon.org/nixcon-2024/talk/XWCF3W/feedback/", "origin_url": "https://talks.nixcon.org/nixcon-2024/talk/XWCF3W/", "attachments": []}, {"guid": "bcdc25a9-d581-52ce-bbb3-1d3ae8f9576d", "code": "QMDME9", "id": 56279, "logo": null, "date": "2024-10-26T09:35:00+02:00", "start": "09:35", "duration": "00:25", "room": "Arena", "slug": "nixcon-2024-56279-becoming-a-nixpkgs-contributor", "url": "https://talks.nixcon.org/nixcon-2024/talk/QMDME9/", "title": "Becoming a Nixpkgs Contributor", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "This talk provides a roadmap toward becoming a Nixpkgs contributor. The format will be a discussion and demonstration.", "description": "Are you interested in contributing to Nixpkgs but unsure where to start? This talk will guide you through the process of becoming a contributor and eventually a long-term maintainer. We will cover how to get started, how to collaborate, useful tools, tips on effective reviews, and recommendations on areas that need help. We also cover the process of getting started, the tools, the responsibilities, and a demonstration.", "recording_license": "", "do_not_record": false, "persons": [{"code": "KWCVSS", "name": "Jacek Galowicz", "avatar": "https://talks.nixcon.org/media/avatars/KWCVSS_XmtxSV2.webp", "biography": "Jacek Galowicz is the CEO of Nixcademy and Applicative Systems GmbH, where he has trained over 200 engineers in Nix and NixOS and helped numerous companies accelerate their adoption of these technologies. Before founding these companies, Jacek co-founded Cyberus Technology GmbH, where he worked on hypervisor technology and advanced test automation. He has an extensive background in the security and operating systems industries, and as a software engineer, Jacek ported the NixOS integration test driver to Python in 2019. He is also the author of the C++17 STL Cookbook.", "public_name": "Jacek Galowicz", "guid": "9a1f0256-70eb-5e9f-b91c-f3e4bfa3e4a4", "url": "https://talks.nixcon.org/nixcon-2024/speaker/KWCVSS/"}, {"code": "F9KJYR", "name": "Thomas Bereknyei", "avatar": "https://talks.nixcon.org/media/avatars/F9KJYR_yxvFO3C.webp", "biography": "I am passionate about advocating for Nix and Nix-based technology. I think Nix is a superpower that should be available to all developers and something that can help the humanity manage the increasing complexity of software. Let's bring it to work, home lab, school, basement, cloud, enterprise, space station, hardware, ......  to the world!", "public_name": "Thomas Bereknyei", "guid": "883690fb-af2b-55d3-a21d-f29e6ccfaa47", "url": "https://talks.nixcon.org/nixcon-2024/speaker/F9KJYR/"}], "links": [{"title": "Slides", "url": "https://docs.google.com/presentation/d/1ZEyPJ-mf35A4sEl43sBu7LNRQ-27k6rslyjTyzDdfPI/edit?usp=sharing", "type": "related"}], "feedback_url": "https://talks.nixcon.org/nixcon-2024/talk/QMDME9/feedback/", "origin_url": "https://talks.nixcon.org/nixcon-2024/talk/QMDME9/", "attachments": [{"title": "Slides", "url": "/media/nixcon-2024/submissions/QMDME9/resources/Becoming_a_Nix_77RNd0o.pdf", "type": "related"}]}, {"guid": "794ccec1-f44d-533c-adf6-d22c0f7ce1d9", "code": "VBGYZ9", "id": 55889, "logo": null, "date": "2024-10-26T10:10:00+02:00", "start": "10:10", "duration": "00:25", "room": "Arena", "slug": "nixcon-2024-55889-signed-nix-expressions", "url": "https://talks.nixcon.org/nixcon-2024/talk/VBGYZ9/", "title": "Signed Nix Expressions", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Nix build expressions will often rely on other expressions as dependencies, most commonly Nixpkgs. However, those could be modified by machine-in-the-middle attacks. Providing users with the means to verify cryptographic signatures on expressions could relieve this attack vector and strengthen Nix' resilience.\r\n\r\nThis talk will discuss update verification for Nix and NixOS with a focus on Git signatures. It will explain Guix' authentication mechanism and [RFC 100](https://github.com/NixOS/rfcs/pull/100) as an attempt to bring it to Nixpkgs. Subsequently, it will sketch out potential paths forward, considering use cases and additional burdens on developers.", "description": "", "recording_license": "", "do_not_record": true, "persons": [{"code": "CE3LEC", "name": "Finn Landweber", "avatar": null, "biography": "[landweber.xyz](https://landweber.xyz)", "public_name": "Finn Landweber", "guid": "677d9471-75eb-5553-b245-609dca7fe47d", "url": "https://talks.nixcon.org/nixcon-2024/speaker/CE3LEC/"}], "links": [{"title": "Secure Nix Expression Updates (Bachelors's Thesis)", "url": "https://landweber.xyz/ba.pdf", "type": "related"}], "feedback_url": "https://talks.nixcon.org/nixcon-2024/talk/VBGYZ9/feedback/", "origin_url": "https://talks.nixcon.org/nixcon-2024/talk/VBGYZ9/", "attachments": [{"title": "Slides", "url": "/media/nixcon-2024/submissions/VBGYZ9/resources/output_8d1VNG0.pdf", "type": "related"}]}, {"guid": "fedc2677-f086-5f10-b737-fd2c1d279cc2", "code": "7GUEEE", "id": 55093, "logo": null, "date": "2024-10-26T10:45:00+02:00", "start": "10:45", "duration": "00:25", "room": "Arena", "slug": "nixcon-2024-55093-nix-as-a-static-site-generator-for-my-blog-only-mildly-cursed", "url": "https://talks.nixcon.org/nixcon-2024/talk/7GUEEE/", "title": "Nix as a Static Site Generator for My Blog (only mildly cursed!)", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Since a Nix derivation can be anything, from a text file up to a directory tree, then what's stopping us from implementing a static site generator using Nix? Certainly not the police!\r\n\r\nI've been using Nix as a generator for <https://pwy.io> ([source code](https://github.com/Patryk27/website)) for almost two years now - in this talk I'd like to show you how it works, go through pros and cons, and hopefully inspire you to see Nix as more than \"this funny language used in nixpkgs\".", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "WD8EMV", "name": "Patryk Wychowaniec", "avatar": "https://talks.nixcon.org/media/avatars/WD8EMV_36rfh9y.webp", "biography": "Software developer who finds joy in throwing algorithms at problems and observing what happens; Senior Rust Developer at Fudo Security, fan of Nix, chinchillas and dogs (the more the better, exponentially!).", "public_name": "Patryk Wychowaniec", "guid": "a67dfc53-2cbb-50e4-92a6-aa36d6a1d27e", "url": "https://talks.nixcon.org/nixcon-2024/speaker/WD8EMV/"}], "links": [], "feedback_url": "https://talks.nixcon.org/nixcon-2024/talk/7GUEEE/feedback/", "origin_url": "https://talks.nixcon.org/nixcon-2024/talk/7GUEEE/", "attachments": []}, {"guid": "3e881d9c-5c73-583f-9341-aa72e3b99900", "code": "7FN8SB", "id": 56245, "logo": null, "date": "2024-10-26T11:20:00+02:00", "start": "11:20", "duration": "00:25", "room": "Arena", "slug": "nixcon-2024-56245-nix-and-bazel-match-made-in-heaven-or-hell", "url": "https://talks.nixcon.org/nixcon-2024/talk/7FN8SB/", "title": "Nix and Bazel - match made in heaven or hell?", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "The premise of combining Nix and Bazel is really appealing and powerful - one gets the full reproducibility stemming from Nix (alongside all definitions from its rich ecosystem) and the fast incremental builds that are the hallmark of Bazel. Truly a bliss. Practicalities however beg to differ - the road towards such a combination is full of unexpected surprises, ill-implemented features and design decisions that break everything. \r\n\r\nThis talk is a journey of discovery of things that go wonderfully wrong if Nix and Bazel are being used together. The third ingredient to the Nix and Bazel cocktail are footguns. A lot of them. \r\n\r\nWe want to share them,  so others do not have to get burned on them.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "SMHKG7", "name": "Aleksander Gondek", "avatar": "https://talks.nixcon.org/media/avatars/SMHKG7_cD4gssA.webp", "biography": "Alex is contracting for ASML, spearheading migration to Bazel build system. He enjoys solving complex challenges in a manner that results in simple solutions. Rust, Nix and Bazel enthusiast, he attempts to bring reproducibility and correctness to any software project he works on.", "public_name": "Aleksander Gondek", "guid": "7ca59965-57b8-5eea-bf2b-59cc76ec306f", "url": "https://talks.nixcon.org/nixcon-2024/speaker/SMHKG7/"}, {"code": "XCWGHX", "name": "Artur Stachecki", "avatar": null, "biography": "Artur, with a background in computer science and engineering, focuses on correctness, reliability, and reusability in software systems. Leading large-scale migrations, he excels in creating advanced build systems and ensuring hermetic, reproducible builds. A proponent of software reusability, Artur has engineered innovative solutions using variability modeling and mass customization to enhance software performance and reliability.", "public_name": "Artur Stachecki", "guid": "dd30a139-94df-5af0-aef1-60a9da30a85c", "url": "https://talks.nixcon.org/nixcon-2024/speaker/XCWGHX/"}], "links": [], "feedback_url": "https://talks.nixcon.org/nixcon-2024/talk/7FN8SB/feedback/", "origin_url": "https://talks.nixcon.org/nixcon-2024/talk/7FN8SB/", "attachments": []}, {"guid": "af340a94-0a2a-5b4a-b579-9f66a1b92772", "code": "AM7K7F", "id": 56268, "logo": null, "date": "2024-10-26T12:55:00+02:00", "start": "12:55", "duration": "00:40", "room": "Arena", "slug": "nixcon-2024-56268-devenv-is-switching-to-tvix", "url": "https://talks.nixcon.org/nixcon-2024/talk/AM7K7F/", "title": "devenv is switching to Tvix", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "We'll be looking into what kind of limitations we've hit using C++Nix and how Tvix solves them.", "description": "It's been two years since devenv.sh has been released and it has been adopted by many projects.\r\n\r\nDuring these years we've focused on developer experience and after adopting Rust,\r\nthe last barrier to success is dropping C++Nix and modernizing how we implement Nix.\r\n\r\nWe'll look into the reason that C++Nix can't solve without a rewrite and some consequences that Tvix has just by starting from scratch.\r\n\r\nLast but not least, we'll explore what we plan to contribute to Tvix and present a roadmap to using Tvix in devenv.", "recording_license": "", "do_not_record": false, "persons": [{"code": "RQSXAR", "name": "Domen Ko\u017ear", "avatar": "https://talks.nixcon.org/media/avatars/RQSXAR_TFbBgVI.webp", "biography": "My journey with Nix started in 2012 and I've been continuously contributing in my free time ever since.\r\n\r\nI was lucky enough to go full-time Nix in 2016, packaging up OpenStack in Nix and writing end-to-end tests with a few different scenarios.\r\n\r\nIn 2016, I founded Enlambda consulting. It helped many clients like Snabb and IOHK adopt Nix and enabled them to solve complex software distribution problems in our industry.\r\n\r\nIn 2018, I launched Cachix to accelerate Nix adoption by focusing on infrastructure and education.", "public_name": "Domen Ko\u017ear", "guid": "618ca90e-ab98-5edf-9cc9-0234bfd9a69e", "url": "https://talks.nixcon.org/nixcon-2024/speaker/RQSXAR/"}], "links": [], "feedback_url": "https://talks.nixcon.org/nixcon-2024/talk/AM7K7F/feedback/", "origin_url": "https://talks.nixcon.org/nixcon-2024/talk/AM7K7F/", "attachments": []}, {"guid": "79b9051e-3bd3-5613-89e4-12a3ff3abea0", "code": "F9MMRK", "id": 56260, "logo": null, "date": "2024-10-26T13:45:00+02:00", "start": "13:45", "duration": "00:40", "room": "Arena", "slug": "nixcon-2024-56260-enabling-incremental-adoption-of-nixos-with-module-contracts", "url": "https://talks.nixcon.org/nixcon-2024/talk/F9MMRK/", "title": "Enabling incremental adoption of NixOS with module contracts", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "I personally believe NixOS to be the ultimate server management tool. But how to convince others? We must let them try NixOS!\r\n\r\nCurrently, the only way to try out NixOS is to go all-in. There's no way to get a feel for it by just replacing one small piece of an existing infrastructure. To ease and accelerate adoption of NixOS, this must change.\r\n\r\nThis talk goes over why module contracts is the essential and (yet!) missing piece that will help us spread adoption of NixOS.", "description": "Take the Nextcloud module. It is a wonderful module and I am one of its happy users. In a few options, it sets up a complicated beast of infrastructure in an elegant way. It even let's you choose which database you want to use!\r\n\r\nThere's a caveat, though. Like most of the modules in NixOS, it assumes ownership of its runtime dependencies. This makes it impossible to tell the module to use a database on another host, for example. One could modify the module to add this use case, but this quickly becomes not maintainable. It would make the module even bigger, even harder to test. Also, other modules could benefit from this nice feature and we can't just add this to all of them by copy pasting code around.\r\n\r\nWhat if instead, the Nextcloud module did not own its runtime dependencies. What if the user, you, were in charge of spinning up a database and letting the Nextcloud module configure its database on that instance. Same for the Nextcloud cache, the reverse proxy, the backup service, etc. This dependency inversion is what module contracts is about.\r\n\r\nThis talk explores what a world with NixOS modules relying on contracts would look like. We'll see how one would configure a Nextcloud module using contracts. Also what it would look like to test it in their current infrastructure. We'll also go over other benefits of contracts. Finally, I'll showcase my project which explores contracts and what is already possible today and what the future plans are.", "recording_license": "", "do_not_record": false, "persons": [{"code": "AL879Y", "name": "Pierre Penninckx", "avatar": "https://talks.nixcon.org/media/avatars/AL879Y_5str8TF.webp", "biography": "I'm a self-hosting, privacy and data sovereignty advocate.\r\n\r\nFor 12 years now, I have been self hosting everything I can because I firmly believe it's the only way to keep my data under control. I went through the full spectrum of imperative scripts to fully declarative configuration with NixOS. My mission now is to lower the bar of entry for self-hosting and allow less technical users to get the same benefits I enjoy.\r\n\r\nI'm a father of 6 kids and married to a wonderful wife. <3", "public_name": "Pierre Penninckx", "guid": "ef537241-b092-58c8-b828-bba934dfd98e", "url": "https://talks.nixcon.org/nixcon-2024/speaker/AL879Y/"}], "links": [], "feedback_url": "https://talks.nixcon.org/nixcon-2024/talk/F9MMRK/feedback/", "origin_url": "https://talks.nixcon.org/nixcon-2024/talk/F9MMRK/", "attachments": []}, {"guid": "a3b89205-e816-5efd-9af8-2e644cf9f9d4", "code": "QNPJBY", "id": 56282, "logo": null, "date": "2024-10-26T14:35:00+02:00", "start": "14:35", "duration": "00:35", "room": "Arena", "slug": "nixcon-2024-56282-call-by-hash", "url": "https://talks.nixcon.org/nixcon-2024/talk/QNPJBY/", "title": "Call-by-hash", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "If we were to design a cloud based on a fundamental principle of Nix, namely hash-based addressing, what would it look like? What would be it's benefits? We did just that at garnix; this talk is about the big picture, and the details, of that idea.", "description": "Derivations in Nix get a hash based on all their inputs; that hash then becomes (part of) the name by which the outputs are known. This way of naming or addressing build artifacts turns out to have a number of wonderful advantages that Nix users know and love.\r\n\r\nBut NixOS machines too have such hashes. What if we gave them names - URLs - when deployment that contained that hash, and then had them communicate between each other only via these hashes?\r\n\r\nIt turns out this solves a lot of common problems faced by engineers deploying infrastructure, such as zero-downtime deployments, \"transactional\" deployments, speed and more. \r\n\r\nWe can moreover extend this idea to apply to stateful servers as well, at least in important special cases.\r\n\r\nThis perspective allows us to build something with most of the features of Kubernetes, but in a very Nix way. And this isn't vaporware: it's implemented at garnix.", "recording_license": "", "do_not_record": false, "persons": [{"code": "SXAW7X", "name": "Julian Kirsten Arni", "avatar": "https://talks.nixcon.org/media/avatars/SXAW7X_DFcXExB.webp", "biography": "Julian was born in Brazil, but has lived in India, the US, Germany and now Switzerland. He is the CEO of garnix; prior to that, he variously cowrote the Haskell servant web framework, worked at a newspaper, started but never finished a philosophy PhD, and was Brazilian chess champion under 16.", "public_name": "Julian Kirsten Arni", "guid": "f847fda1-ff3c-5fe7-ab28-5776b3a234e1", "url": "https://talks.nixcon.org/nixcon-2024/speaker/SXAW7X/"}], "links": [], "feedback_url": "https://talks.nixcon.org/nixcon-2024/talk/QNPJBY/feedback/", "origin_url": "https://talks.nixcon.org/nixcon-2024/talk/QNPJBY/", "attachments": []}, {"guid": "06518571-496f-59c7-9759-7d6fa729a63e", "code": "3TUXAD", "id": 56248, "logo": null, "date": "2024-10-26T15:20:00+02:00", "start": "15:20", "duration": "00:25", "room": "Arena", "slug": "nixcon-2024-56248-fused-with-nix-deploying-nix-apps-to-k8s-in-images-weighting-as-little-as-500-kbs", "url": "https://talks.nixcon.org/nixcon-2024/talk/3TUXAD/", "title": "FUSEd with nix: deploying nix apps to k8s in images weighting as little as 500 KBs", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Deploying nix-built applications to a Kubernetes cluster can be an exercise in frustration - even though nix has built-in support for creation of container images,  the outcome is usually a quite sizable tar archive. Propagation, caching and updating of such images takes time, bandwidth and storage space. One is essentially packaging little slices of a nix store, every time an application needs to be delivered. There has to be a better way!\r\n\r\nWe want to present a FUSE-based way of attaching a shared `/nix/store` to container images and thus allowing them to only contain metainformation required to run the application. Even complex k8s deployments are reduced to very thin updates of data!", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "SMHKG7", "name": "Aleksander Gondek", "avatar": "https://talks.nixcon.org/media/avatars/SMHKG7_cD4gssA.webp", "biography": "Alex is contracting for ASML, spearheading migration to Bazel build system. He enjoys solving complex challenges in a manner that results in simple solutions. Rust, Nix and Bazel enthusiast, he attempts to bring reproducibility and correctness to any software project he works on.", "public_name": "Aleksander Gondek", "guid": "7ca59965-57b8-5eea-bf2b-59cc76ec306f", "url": "https://talks.nixcon.org/nixcon-2024/speaker/SMHKG7/"}, {"code": "XCWGHX", "name": "Artur Stachecki", "avatar": null, "biography": "Artur, with a background in computer science and engineering, focuses on correctness, reliability, and reusability in software systems. Leading large-scale migrations, he excels in creating advanced build systems and ensuring hermetic, reproducible builds. A proponent of software reusability, Artur has engineered innovative solutions using variability modeling and mass customization to enhance software performance and reliability.", "public_name": "Artur Stachecki", "guid": "dd30a139-94df-5af0-aef1-60a9da30a85c", "url": "https://talks.nixcon.org/nixcon-2024/speaker/XCWGHX/"}], "links": [], "feedback_url": "https://talks.nixcon.org/nixcon-2024/talk/3TUXAD/feedback/", "origin_url": "https://talks.nixcon.org/nixcon-2024/talk/3TUXAD/", "attachments": []}, {"guid": "3870aaf7-db5b-5e04-93f2-6a2d75fc7424", "code": "MUFGYT", "id": 55975, "logo": null, "date": "2024-10-26T15:55:00+02:00", "start": "15:55", "duration": "00:25", "room": "Arena", "slug": "nixcon-2024-55975-integrating-nix-and-buck2-for-fun-and-profit", "url": "https://talks.nixcon.org/nixcon-2024/talk/MUFGYT/", "title": "Integrating Nix and Buck2 for fun and profit", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "In a large code base you want a tool that is able to build your project quickly by leveraging features such as a distributed cache and remote execution. At the same time it is important that your build is correct and thus reproducible.\r\n\r\nIn this talk I will present how we integrated Nix with Buck2, an open source build system developed by Meta, in order to achieve highly granular, reproducible builds for a large Haskell code base and how we were able to use Buck2's remote execution with Nix.", "description": "In this talk I will quickly introduce Buck2 and the project we are working on to explain the goals we were aiming to achieve in regard to the developer experience.\r\n\r\nIn brief, Buck2 should be the main entry point to the project \u2013 providing a buck2 binary in a dev shell is all that is needed to get a developer going on the project.\r\n\r\nTherefore, we developed a fine-grained mechanism for introducing nix packages as dependencies in our build using nix flakes.\r\n\r\nI will deep dive into the internals of this integration, demonstrate how easy it is to use, and how we can speed up the build even more using a distributed cache and remote execution.", "recording_license": "", "do_not_record": false, "persons": [{"code": "QRDDDC", "name": "Claudio Bley", "avatar": "https://talks.nixcon.org/media/avatars/QRDDDC_MbqUVRb.webp", "biography": "Claudio is a software engineer with a passion for functional programming and with a strong interest in build systems. He is a member of the Scalable Builds Group at Modus Create and contributes to Bazel and Buck2, maintains Bazel rules for Tweag (Modus Create's OSPO), and provides professional services to various clients. He lives in Leipzig with his wife and kids.", "public_name": "Claudio Bley", "guid": "0597a574-0998-5023-a8f1-70f3f98bfe51", "url": "https://talks.nixcon.org/nixcon-2024/speaker/QRDDDC/"}], "links": [], "feedback_url": "https://talks.nixcon.org/nixcon-2024/talk/MUFGYT/feedback/", "origin_url": "https://talks.nixcon.org/nixcon-2024/talk/MUFGYT/", "attachments": []}, {"guid": "b1a822ca-52a0-5116-b331-29ab0103ec88", "code": "Y8BF7E", "id": 56211, "logo": null, "date": "2024-10-26T16:30:00+02:00", "start": "16:30", "duration": "00:25", "room": "Arena", "slug": "nixcon-2024-56211-learning-to-nix-our-summer-of-nix-experience", "url": "https://talks.nixcon.org/nixcon-2024/talk/Y8BF7E/", "title": "Learning to Nix: Our Summer of Nix Experience", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "In this talk, we\u2019ll be sharing our journey through the Summer of Nix 2024 mentorship program giving a detailed look at our experiences and contributions. From the interesting projects we worked on to the challenges we faced and tackled. We\u2019ll provide a an overview of how this initiative our understanding of Nix and contributed to the community. You\u2019ll hear about the projects we've worked on, technical challenges and interesting rabbit holes we jumped into, and some honest feedback on how we can continue to improve. Whether you\u2019re deeply involved in Nix or just curious about the program, I hope to offer valuable insights and inspiration for both current contributors and those looking to get involved.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "9BMERX", "name": "Enric Morales", "avatar": "https://talks.nixcon.org/media/avatars/9BMERX_Pcx1w7T.webp", "biography": "nixpkgs contributor since early spring 2024, summer of nix participant", "public_name": "Enric Morales", "guid": "da675de5-7078-5209-b75c-3c209598669c", "url": "https://talks.nixcon.org/nixcon-2024/speaker/9BMERX/"}, {"code": "S73FHF", "name": "Alberto Merino", "avatar": "https://talks.nixcon.org/media/avatars/S73FHF_150Ukd3.webp", "biography": "Hi, I'm a PhD student working on High-Performance Computing (HPC), focusing on Networking and Congestion Control. I also love Nix so much. \ud83d\ude00", "public_name": "Alberto Merino", "guid": "2386f283-b63b-5616-bfdf-3150d923306d", "url": "https://talks.nixcon.org/nixcon-2024/speaker/S73FHF/"}], "links": [], "feedback_url": "https://talks.nixcon.org/nixcon-2024/talk/Y8BF7E/feedback/", "origin_url": "https://talks.nixcon.org/nixcon-2024/talk/Y8BF7E/", "attachments": []}, {"guid": "d2fb1825-1d6d-58aa-a17c-35f580c1964a", "code": "T9ACJZ", "id": 56355, "logo": null, "date": "2024-10-26T17:05:00+02:00", "start": "17:05", "duration": "00:45", "room": "Arena", "slug": "nixcon-2024-56355-llamafiles-plus-rag-to-have-a-chat-with-nixos-documentation-running-locally", "url": "https://talks.nixcon.org/nixcon-2024/talk/T9ACJZ/", "title": "Llamafiles plus RAG to have a chat with NixOS documentation running locally", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Picture this: you're on a remote tropical island, with limited internet access and only your ultraportable laptop, which lacks a dedicated GPU. Now imagine you need to search resources like nix.dev, various GitHub configurations, or books like NixOS in Production. Basic indexing and grepping just won't cut it for handling docs, code, and especially PDFs. Plus, relying on exact matches feels outdated. What you really want is to ask natural language questions about the problems you're solving, and get comprehensive, detailed responses\u2014using only the latest, most relevant docs and references.\r\n\r\nUntil recently, this idea was pure science fiction. But with the rise of large language models (LLMs), it's become reality. However, the usual suspects like ChatGPT have their drawbacks: they don't provide source links, tend to hallucinate, and require careful fact-checking. On top of that, running them is computationally expensive. Most ultraportable laptops lack the necessary GPU power, or, if they have one, it's energy-hungry or inadequate for LLMs. This effectively rules out using LLMs in the tropical laptop scenario. Even with enough compute power, setting up an LLM can be a headache, partly due to the notorious challenges of getting Nvidia CUDA to work smoothly on Linux.\r\n\r\nEnter Justine Tunney's llamafile. It's a game-changer: a single zip file that runs on CPUs and across multiple architectures, built on the llama.cpp library, which is a C/C++ implementation of LLM evaluation for various model architectures. This simplifies running LLMs on CPUs by allowing existing model weights to be used without needing a GPU. Combine this with retrieval-augmented generation (RAG), which pulls relevant information from your chosen docs and GitHub repositories, and you've got an offline, fully functional setup for querying NixOS-related content\u2014right from your beachside ultraportable laptop.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "7LRDYG", "name": "Jose Quesada", "avatar": "https://talks.nixcon.org/media/avatars/7LRDYG_tz0iwqt.webp", "biography": "Founded Data Science Retreat, longest running and most advanced ML training in Europe. Working on similar courses for security engineering (Why Nix is interesting for me!) and practical reasoning in the AI era. Trying to improve the human side on the human-AI pairing.", "public_name": "Jose Quesada", "guid": "0998fcb1-e7c2-516b-bdc1-19ec1a1166a7", "url": "https://talks.nixcon.org/nixcon-2024/speaker/7LRDYG/"}], "links": [], "feedback_url": "https://talks.nixcon.org/nixcon-2024/talk/T9ACJZ/feedback/", "origin_url": "https://talks.nixcon.org/nixcon-2024/talk/T9ACJZ/", "attachments": []}, {"guid": "1f0b6b39-6bac-5295-a0ae-5f5636ef47b0", "code": "RY98HT", "id": 56357, "logo": null, "date": "2024-10-26T18:00:00+02:00", "start": "18:00", "duration": "00:10", "room": "Arena", "slug": "nixcon-2024-56357-monitoring-your-system-using-nixos", "url": "https://talks.nixcon.org/nixcon-2024/talk/RY98HT/", "title": "Monitoring Your System Using NixOS", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "System monitoring is essential for maintaining infrastructure stability. In this talk, we will explore how NixOS can be used to configure and manage system monitoring for your applications and your NixOS system using Prometheus and Grafana.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "WDVLQP", "name": "Jo\u00e3o Thallis", "avatar": "https://talks.nixcon.org/media/avatars/WDVLQP_zlJjUut.webp", "biography": "Jo\u00e3o Thallis is a Product Engineer at [Turn.io](Turn.io). \r\n\r\nHe started his programming journey creating games in his teenage years. He\u2019s working with functional programming using Elixir since 2018.\r\n\r\nHe lives in Brazil, loves cycling, traveling, open source, Bitcoin, nix and neovim\r\n\r\nMy website: https://joaothallis.com", "public_name": "Jo\u00e3o Thallis", "guid": "72677da9-3e58-5789-8099-7e4c7556c82a", "url": "https://talks.nixcon.org/nixcon-2024/speaker/WDVLQP/"}], "links": [], "feedback_url": "https://talks.nixcon.org/nixcon-2024/talk/RY98HT/feedback/", "origin_url": "https://talks.nixcon.org/nixcon-2024/talk/RY98HT/", "attachments": []}, {"guid": "6e09d5a3-5b05-518b-96b8-af6a1f4835f8", "code": "XRFPMU", "id": 56219, "logo": null, "date": "2024-10-26T18:20:00+02:00", "start": "18:20", "duration": "00:10", "room": "Arena", "slug": "nixcon-2024-56219-comin-gitops-for-nixos-machines", "url": "https://talks.nixcon.org/nixcon-2024/talk/XRFPMU/", "title": "Comin: GitOps for NixOS Machines", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "[comin](https://github.com/nlewo/comin) is a NixOS deployment tool operating in pull mode. In this short talk, I will describe what GitOps is, how comin works and its main features.", "description": "[comin](https://github.com/nlewo/comin) is a NixOS deployment tool operating in pull mode. Running on a machine, it periodically polls Git repositories and deploys the NixOS configuration associated to the machine.\r\n\r\nIts features are:\r\n\r\n- Git push to deploy NixOS configurations\r\n- Support testing branches to try changes\r\n- Poll multiple Git remotes to avoid SPOF\r\n- Support machines migrations\r\n- Fast iterations with local remotes\r\n- Observable via Prometheus metrics\r\n- Create and delete system profiles\r\n\r\nIn this talk, i will describe what GitOps is, what are the main GitOps projects, how comin works, its main features and the next main features.", "recording_license": "", "do_not_record": false, "persons": [{"code": "7GGLV7", "name": "lewo", "avatar": "https://talks.nixcon.org/media/avatars/7GGLV7_yPjCS8S.webp", "biography": "NixOS addict since 2015, interested in mail servers, containers and devops stuffs.", "public_name": "lewo", "guid": "56e4ee26-b19c-5177-8a93-23f80c392809", "url": "https://talks.nixcon.org/nixcon-2024/speaker/7GGLV7/"}], "links": [], "feedback_url": "https://talks.nixcon.org/nixcon-2024/talk/XRFPMU/feedback/", "origin_url": "https://talks.nixcon.org/nixcon-2024/talk/XRFPMU/", "attachments": []}, {"guid": "f538a04b-c543-5e18-b676-b26dc21c14c0", "code": "HRFQSG", "id": 57360, "logo": null, "date": "2024-10-26T18:40:00+02:00", "start": "18:40", "duration": "00:45", "room": "Arena", "slug": "nixcon-2024-57360-lightning-talk-block-2", "url": "https://talks.nixcon.org/nixcon-2024/talk/HRFQSG/", "title": "Lightning talk block #2", "subtitle": "", "track": null, "type": "Lightning talk", "language": "en", "abstract": "Block for additional lightning talks. If during the NixCon you decide that you would like to do a lightning talk, you can do it in this block.\r\nJust contact anyone from the staff to let us know.", "description": "", "recording_license": "", "do_not_record": false, "persons": [], "links": [], "feedback_url": "https://talks.nixcon.org/nixcon-2024/talk/HRFQSG/feedback/", "origin_url": "https://talks.nixcon.org/nixcon-2024/talk/HRFQSG/", "attachments": []}, {"guid": "082cca56-1960-5622-b9cc-55aaebff1c89", "code": "HZ3AZA", "id": 56829, "logo": null, "date": "2024-10-26T19:25:00+02:00", "start": "19:25", "duration": "00:30", "room": "Arena", "slug": "nixcon-2024-56829-endnote", "url": "https://talks.nixcon.org/nixcon-2024/talk/HZ3AZA/", "title": "Endnote", "subtitle": "", "track": null, "type": "Happy Hour", "language": "en", "abstract": "Endnote", "description": "", "recording_license": "", "do_not_record": false, "persons": [], "links": [], "feedback_url": "https://talks.nixcon.org/nixcon-2024/talk/HZ3AZA/feedback/", "origin_url": "https://talks.nixcon.org/nixcon-2024/talk/HZ3AZA/", "attachments": []}], "Woanders": [{"guid": "0a1cf0c2-7d29-571c-b0e1-5081d7d8fc10", "code": "E7SJ3W", "id": 55130, "logo": null, "date": "2024-10-26T09:35:00+02:00", "start": "09:35", "duration": "01:00", "room": "Woanders", "slug": "nixcon-2024-55130-nixos-wiki-meetup", "url": "https://talks.nixcon.org/nixcon-2024/talk/E7SJ3W/", "title": "NixOS Wiki Meetup", "subtitle": "", "track": null, "type": "Workshop/Training - Select this if you are planning on running a training for attendees", "language": "en", "abstract": "A Meeting for the Wiki Users, Admins, Moderators", "description": "The wiki team invites users, admin, moderators and people that want to become any of those to join up and talk for a bit. We can talk about whatever comes up :)", "recording_license": "", "do_not_record": false, "persons": [{"code": "3YSM77", "name": "lassulus", "avatar": "https://talks.nixcon.org/media/avatars/3YSM77_qeJOUaP.webp", "biography": "Wuff Wuff", "public_name": "lassulus", "guid": "a06da2c9-f3ef-5000-8cb1-c66e8ccb3f9a", "url": "https://talks.nixcon.org/nixcon-2024/speaker/3YSM77/"}], "links": [], "feedback_url": "https://talks.nixcon.org/nixcon-2024/talk/E7SJ3W/feedback/", "origin_url": "https://talks.nixcon.org/nixcon-2024/talk/E7SJ3W/", "attachments": []}, {"guid": "96face9d-32f9-54c6-8e33-583783882e00", "code": "9USEQ3", "id": 56270, "logo": "https://talks.nixcon.org/media/nixcon-2024/submissions/9USEQ3/anywhere_qbFPc40.png", "date": "2024-10-26T11:00:00+02:00", "start": "11:00", "duration": "02:00", "room": "Woanders", "slug": "nixcon-2024-56270-deploy-nixos-remotely-with-nixos-anywhere-disko", "url": "https://talks.nixcon.org/nixcon-2024/talk/9USEQ3/", "title": "Deploy NixOS remotely with nixos-anywhere & disko", "subtitle": "", "track": null, "type": "Workshop/Training - Select this if you are planning on running a training for attendees", "language": "en", "abstract": "An introduction into [nixos-anywhere](https://github.com/nix-community/nixos-anywhere) and [disko](https://github.com/nix-community/disko), followed by a demo of using both to deploy NixOS with [ZFS](https://openzfs.org) on a remote Ubuntu host. Ending by a hands-on support/Q & A session for the remaining time slot.", "description": "", "recording_license": "", "do_not_record": true, "persons": [{"code": "SUGRN7", "name": "phaer", "avatar": "https://talks.nixcon.org/media/avatars/SUGRN7_FEU3YP4.webp", "biography": "Long-term Linux user and admin; Ignored Nix(OS) for too long before it stuck in 2020. nixos-anywhere & disko contributor.", "public_name": "phaer", "guid": "3bb1d1be-ed55-523d-b1c4-fb5ede712b58", "url": "https://talks.nixcon.org/nixcon-2024/speaker/SUGRN7/"}], "links": [], "feedback_url": "https://talks.nixcon.org/nixcon-2024/talk/9USEQ3/feedback/", "origin_url": "https://talks.nixcon.org/nixcon-2024/talk/9USEQ3/", "attachments": []}, {"guid": "7499141e-0262-5466-9f8c-746dfee63e28", "code": "ZZFT8R", "id": 56356, "logo": null, "date": "2024-10-26T14:35:00+02:00", "start": "14:35", "duration": "00:20", "room": "Woanders", "slug": "nixcon-2024-56356-infecting-your-server-with-nixos", "url": "https://talks.nixcon.org/nixcon-2024/talk/ZZFT8R/", "title": "Infecting Your Server with NixOS", "subtitle": "", "track": null, "type": "Workshop/Training - Select this if you are planning on running a training for attendees", "language": "en", "abstract": "Installing NixOS on a server can be a challenge for beginners or take a long time if you need to install it on several machines. In this workshop, we will see how it can be simple and what tools we can use to achieve that.", "description": "What can be infected? For the best experience you will need a local [Linux](https://github.com/elitak/nixos-infect#tested-on) virtual machine or VPS with an SSH key for the root user \u2013 you can use a local machine if you don't mind losing your data and OS.", "recording_license": "", "do_not_record": false, "persons": [{"code": "WDVLQP", "name": "Jo\u00e3o Thallis", "avatar": "https://talks.nixcon.org/media/avatars/WDVLQP_zlJjUut.webp", "biography": "Jo\u00e3o Thallis is a Product Engineer at [Turn.io](Turn.io). \r\n\r\nHe started his programming journey creating games in his teenage years. He\u2019s working with functional programming using Elixir since 2018.\r\n\r\nHe lives in Brazil, loves cycling, traveling, open source, Bitcoin, nix and neovim\r\n\r\nMy website: https://joaothallis.com", "public_name": "Jo\u00e3o Thallis", "guid": "72677da9-3e58-5789-8099-7e4c7556c82a", "url": "https://talks.nixcon.org/nixcon-2024/speaker/WDVLQP/"}], "links": [], "feedback_url": "https://talks.nixcon.org/nixcon-2024/talk/ZZFT8R/feedback/", "origin_url": "https://talks.nixcon.org/nixcon-2024/talk/ZZFT8R/", "attachments": []}, {"guid": "013bbe1e-ec7d-5ffe-9a0b-e74a9b20a102", "code": "CVSGTW", "id": 56269, "logo": null, "date": "2024-10-26T15:10:00+02:00", "start": "15:10", "duration": "01:30", "room": "Woanders", "slug": "nixcon-2024-56269-developer-environment-for-a-web-project-using-devenv-sh", "url": "https://talks.nixcon.org/nixcon-2024/talk/CVSGTW/", "title": "Developer environment for a web project using devenv.sh", "subtitle": "", "track": null, "type": "Workshop/Training - Select this if you are planning on running a training for attendees", "language": "en", "abstract": "We'll guide you through Nixification of a project using devenv.sh", "description": "We'll take a project using PostgreSQL and application server written in Rust.\r\n\r\nWe'll convert it into devenv/Nix by following what docker compose is doing.\r\n\r\nDuring the conversion we'll explain common features of devenv.\r\n\r\nAt the end of the workshop you should know enough to go through the same process yourself on your own projects.", "recording_license": "", "do_not_record": false, "persons": [{"code": "RQSXAR", "name": "Domen Ko\u017ear", "avatar": "https://talks.nixcon.org/media/avatars/RQSXAR_TFbBgVI.webp", "biography": "My journey with Nix started in 2012 and I've been continuously contributing in my free time ever since.\r\n\r\nI was lucky enough to go full-time Nix in 2016, packaging up OpenStack in Nix and writing end-to-end tests with a few different scenarios.\r\n\r\nIn 2016, I founded Enlambda consulting. It helped many clients like Snabb and IOHK adopt Nix and enabled them to solve complex software distribution problems in our industry.\r\n\r\nIn 2018, I launched Cachix to accelerate Nix adoption by focusing on infrastructure and education.", "public_name": "Domen Ko\u017ear", "guid": "618ca90e-ab98-5edf-9cc9-0234bfd9a69e", "url": "https://talks.nixcon.org/nixcon-2024/speaker/RQSXAR/"}, {"code": "UMZBSN", "name": "Sander Melnikov", "avatar": "https://talks.nixcon.org/media/avatars/UMZBSN_hfz1BC3.webp", "biography": "devenv maintainer / swe @ cachix", "public_name": "Sander Melnikov", "guid": "c05fc5ef-d744-59f0-940a-5f22d32a76b9", "url": "https://talks.nixcon.org/nixcon-2024/speaker/UMZBSN/"}], "links": [], "feedback_url": "https://talks.nixcon.org/nixcon-2024/talk/CVSGTW/feedback/", "origin_url": "https://talks.nixcon.org/nixcon-2024/talk/CVSGTW/", "attachments": []}, {"guid": "3b6803c2-b9cb-5893-932b-a236f165966a", "code": "9BR87D", "id": 56275, "logo": null, "date": "2024-10-26T16:55:00+02:00", "start": "16:55", "duration": "02:00", "room": "Woanders", "slug": "nixcon-2024-56275-nixos-on-garnix-production-grade-hosting-as-a-game", "url": "https://talks.nixcon.org/nixcon-2024/talk/9BR87D/", "title": "NixOS on garnix: Production-grade hosting as a game", "subtitle": "", "track": null, "type": "Workshop/Training - Select this if you are planning on running a training for attendees", "language": "en", "abstract": "In this workshop we'll play a game based around deploying clusters of NixOS machines more quickly and smoothly than anyone else, and learn how garnix hosting works in the process.", "description": "Some parts of deploying a NixOS machine are extremely simple. Updating, for instance, is just a 'nixos-rebuild switch' away (or some wrapper thereof). Rolling back is just as easy.\r\n\r\nBut that doesn't account for the provisioning, and the network and hardware discovery, and the secrets management, and the zero-downtime deployments, and infrastructure-wide atomicity, and QA deployments, and staging, ...  Once you consider those, things start to look a whole lot less fun.\r\n\r\nBut it doesn't have to be that way. In this workshop, we'll see how to deploy in minutes, and without any of those pesky worries. The NixOS-specific hosting platform we built takes care of everything beyond your git commit and push. The result is that we can focus on just NixOS itself, and forget the rest.\r\n\r\nIn the workshop, we will help you bring up your own server, hosting simple APIs. And we will have all participants' servers talk to each other through those APIs and hopefully have some fun!\r\n\r\nBring a laptop (with Nix installed)!", "recording_license": "", "do_not_record": false, "persons": [{"code": "SXAW7X", "name": "Julian Kirsten Arni", "avatar": "https://talks.nixcon.org/media/avatars/SXAW7X_DFcXExB.webp", "biography": "Julian was born in Brazil, but has lived in India, the US, Germany and now Switzerland. He is the CEO of garnix; prior to that, he variously cowrote the Haskell servant web framework, worked at a newspaper, started but never finished a philosophy PhD, and was Brazilian chess champion under 16.", "public_name": "Julian Kirsten Arni", "guid": "f847fda1-ff3c-5fe7-ab28-5776b3a234e1", "url": "https://talks.nixcon.org/nixcon-2024/speaker/SXAW7X/"}, {"code": "Q8ZMQV", "name": "S\u00f6nke Hahn", "avatar": "https://talks.nixcon.org/media/avatars/Q8ZMQV_8GZaVL1.webp", "biography": "S\u00f6nke Hahn specializes in Functional Programming and -- on and off -- has worked with nix since 2013. He has a strong interest in Agile Software Engineering, from Test-Driven Development to team organization. He is currently the CTO of garnix.io.", "public_name": "S\u00f6nke Hahn", "guid": "a31c12e3-3ea2-5c1a-b9d7-74290a60fd21", "url": "https://talks.nixcon.org/nixcon-2024/speaker/Q8ZMQV/"}, {"code": "KNVWNU", "name": "Evie Ciobanu", "avatar": "https://talks.nixcon.org/media/avatars/KNVWNU_lVy5sjJ.webp", "biography": "(They/she) Haskell, nix, and abstract math nerd.", "public_name": "Evie Ciobanu", "guid": "e0d4b8ea-8985-56e4-8814-bd48e3a6bfa9", "url": "https://talks.nixcon.org/nixcon-2024/speaker/KNVWNU/"}, {"code": "FJEPKF", "name": "Jean Fran\u00e7ois Roche", "avatar": null, "biography": null, "public_name": "Jean Fran\u00e7ois Roche", "guid": "f63ef3b5-c512-5432-bbbb-31fbcca68eea", "url": "https://talks.nixcon.org/nixcon-2024/speaker/FJEPKF/"}], "links": [], "feedback_url": "https://talks.nixcon.org/nixcon-2024/talk/9BR87D/feedback/", "origin_url": "https://talks.nixcon.org/nixcon-2024/talk/9BR87D/", "attachments": []}]}}, {"index": 3, "date": "2024-10-27", "day_start": "2024-10-27T04:00:00+01:00", "day_end": "2024-10-28T03:59:00+01:00", "rooms": {"Woanders": [{"guid": "fa49a09d-fff1-5f1d-bcdb-dc11e8093783", "code": "WWCYEQ", "id": 57261, "logo": null, "date": "2024-10-27T09:00:00+01:00", "start": "09:00", "duration": "11:30", "room": "Woanders", "slug": "nixcon-2024-57261-hackday", "url": "https://talks.nixcon.org/nixcon-2024/talk/WWCYEQ/", "title": "Hackday", "subtitle": "", "track": null, "type": "Happy Hour", "language": "en", "abstract": "Hackday", "description": "", "recording_license": "", "do_not_record": false, "persons": [], "links": [], "feedback_url": "https://talks.nixcon.org/nixcon-2024/talk/WWCYEQ/feedback/", "origin_url": "https://talks.nixcon.org/nixcon-2024/talk/WWCYEQ/", "attachments": []}]}}]}}}