BEGIN:VCALENDAR VERSION:2.0 PRODID:-//Pentabarf//Schedule 0.3//EN CALSCALE:GREGORIAN METHOD:PUBLISH X-WR-CALDESC;VALUE=TEXT:Nix and NixOS devroom X-WR-CALNAME;VALUE=TEXT:Nix and NixOS devroom X-WR-TIMEZONE;VALUE=TEXT:Europe/Brussels BEGIN:VEVENT METHOD:PUBLISH UID:15030@FOSDEM23@fosdem.org TZID:Europe-Brussels DTSTART:20230205T131000 DTEND:20230205T131500 SUMMARY:Welcome to the Nix and NixOS devroom DESCRIPTION:
Introduction and welcome to the Nix and NixOS devroom.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Nix and NixOS URL:https:/fosdem.org/2023/schedule/2023/schedule/event/nix_and_nixos_welcome/ LOCATION:H.2214 ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Bryan Honof":invalid:nomail ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Théophane Hufschmitt":invalid:nomail ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="JulienMalka":invalid:nomail ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="raitobezarius":invalid:nomail ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Matthew Croughan":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:13605@FOSDEM23@fosdem.org TZID:Europe-Brussels DTSTART:20230205T131500 DTEND:20230205T133500 SUMMARY:I am excited about NixOS, I want to tell you why! DESCRIPTION:Yup, you heard me right! I am two years into Nix and NixOS bause I endedup working with a team deeply involved with such technology that I never hear about even if I spent 8years out of 10 doing cloud computing, automation and YAML!I have to admit it is not easy to pick up, nix is weird, you never know what options to use and now it is all about flakes but I feel powerful.
In this talk I want to show you my dotfiles and how I manage my little homelab. I will talk to you about netbooting, nixos-rebuild build-vm. A practical and driven by frustration approach to NixOS
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Nix and NixOS URL:https:/fosdem.org/2023/schedule/2023/schedule/event/nix_and_nixos_i_am_excited_about_nixos/ LOCATION:H.2214 ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Gianluca Arbezzano":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:14494@FOSDEM23@fosdem.org TZID:Europe-Brussels DTSTART:20230205T133500 DTEND:20230205T135500 SUMMARY:Pitfalls of Nix and how to overcome them DESCRIPTION:You want to use Nix at your job to build and deploy your fantastic application. And you even managed to convince your boss or your customer that it’s the right tool to use. Amazing! At this stage, what can possibly go wrong? Developers! While you are enthusiastic about Nix and wholeheartedly love it, your fellow colleagues may be quite skeptical about using a new tool they have never heard of. “My programming language has that shiny build tool that everyone uses, why do I need to use Nix?“, “My OS distribution has standard package manager, why should I install another one?“, “Oh, no-no-no, I once installed Nix and it ate hundreds gigabytes of my disk space, I will never do it again” — these are possible reasons why developers may be quite reluctant to using Nix. You can still go ahead and use it, but you may end up in the situation when nobody else understands and nobody wants to understand how things work, so people will request your help whenever they need to touch anything related to Nix, even if they just need to run one command on their machine. If you don’t want this to happen, before introducing Nix in your codebase it’s important to tell developers what they should expect, what concerns they may have and what to do with them. In this talk, we will elaborate on some intimidating factors of Nix and possible solutions to them.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Nix and NixOS URL:https:/fosdem.org/2023/schedule/2023/schedule/event/nix_and_nixos_pitfalls_of_nix/ LOCATION:H.2214 ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Philipp Herzog":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:14186@FOSDEM23@fosdem.org TZID:Europe-Brussels DTSTART:20230205T135500 DTEND:20230205T141000 SUMMARY:Make Anyone Use Nix DESCRIPTION:Who cares about immutability, declarative configuration and reproducibility? Well, certainly not the people whom I want to get to use Nix. Let's be creative for our plan to make Nix take over all package management. Tricks, treachery, lies... anything goes to "nixify" the heck out of the world!
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Nix and NixOS URL:https:/fosdem.org/2023/schedule/2023/schedule/event/nix_and_nixos_make_anyone_use_nix/ LOCATION:H.2214 ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Guillaume Desforges":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:14508@FOSDEM23@fosdem.org TZID:Europe-Brussels DTSTART:20230205T141000 DTEND:20230205T143000 SUMMARY:Nixel: a nicer way to write your Nix expressions DESCRIPTION:Present the Nixel library, interfacing Nix and Nickel
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Nix and NixOS URL:https:/fosdem.org/2023/schedule/2023/schedule/event/nix_and_nixos_nixel/ LOCATION:H.2214 ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="yannham":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:14309@FOSDEM23@fosdem.org TZID:Europe-Brussels DTSTART:20230205T143000 DTEND:20230205T145000 SUMMARY:Playing with Nix in adverse HPC environments DESCRIPTION:What happens when you have access to large clusters, but have little control over the software installed on the machines? Unfortunately, this is the current scenario that researchers often find in HPC clusters, which include very old software stack, a brittle environment and non-cooperative sysadmins. We have been experimenting with Nix to provide an up-to-date system running on top of the already existing software, without root permissions with the help of user namespaces.
In this talk we give a tour on the problems we found and how we solved them:
/nix
store./usr/lib
with an isolated root mountNix lacks of a static type system could be really annoying when we want to debug our expression, and understand what's part of code or data is wrong. Dynamic types libraries[1][2] comes to the rescue, giving a simple API to assert that data is valid.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Nix and NixOS URL:https:/fosdem.org/2023/schedule/2023/schedule/event/nix_and_nixos_contracts_for_free/ LOCATION:H.2214 ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Yvan Sraka":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:14278@FOSDEM23@fosdem.org TZID:Europe-Brussels DTSTART:20230205T145500 DTEND:20230205T151500 SUMMARY:devenv.sh - Fast, Declarative, Reproducible, and Composable Developer Environments DESCRIPTION:How Nix can turn the complexities of developer environments into a set of simple values withoutmaking any sacrifices.
I'll show how the design is extensible beyond the core features and how any programming language ecosystem in the world can be supported.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Nix and NixOS URL:https:/fosdem.org/2023/schedule/2023/schedule/event/nix_and_nixos_devenv/ LOCATION:H.2214 ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Domen Kožar":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:14290@FOSDEM23@fosdem.org TZID:Europe-Brussels DTSTART:20230205T151500 DTEND:20230205T153500 SUMMARY:The Nix package manager development process DESCRIPTION:Present the newly created Nix team, and give a glimpse at the Nix development process.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Nix and NixOS URL:https:/fosdem.org/2023/schedule/2023/schedule/event/nix_and_nixos_development_process/ LOCATION:H.2214 ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Théophane Hufschmitt":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:14376@FOSDEM23@fosdem.org TZID:Europe-Brussels DTSTART:20230205T153500 DTEND:20230205T155500 SUMMARY:Runix DESCRIPTION:Runix is a Rust library for interfacing with the Nix command line. It provides typed structs for Nix commands, with typed flags, and interfaces which match with Nix’s underlying classes. It also makes it possible to have a FFI into Nix from Rust. It should greatly improve the state and stability of calling the Nix CLI in your libraries. This talk will introduce the reasoning behind this library in our work at flox, and what it can do for Nix in general.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Nix and NixOS URL:https:/fosdem.org/2023/schedule/2023/schedule/event/nix_and_nixos_runix/ LOCATION:H.2214 ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Yannik Sander":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:13608@FOSDEM23@fosdem.org TZID:Europe-Brussels DTSTART:20230205T155500 DTEND:20230205T161500 SUMMARY:P4 in Nix DESCRIPTION:Nix, and by extension NixOS, are incredible tools to define infrastructures and deployments of dedicated machines. Unfortunately, sometimes the load is too big for even an optimized network stack and we need to get dedicated equipment such as load balancers to handle the load. What if we could configure those from within Nix?
P4, a Domain Specific Language intended to produce highly optimized network processing code, allows for that. It can produce code that can be synthesized to FPGAs or even configure network ASICs in order to have optimized solutions to those problems.
Points we'll touch on: Writing a transpiler in Nix, Automatic (re-)deployment of synthesized code, hardware definition for Nix-reprogrammable hardware.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Nix and NixOS URL:https:/fosdem.org/2023/schedule/2023/schedule/event/nix_and_nixos_p4_in_nix/ LOCATION:H.2214 ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Gauvain Roussel-Tarbouriech":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:14382@FOSDEM23@fosdem.org TZID:Europe-Brussels DTSTART:20230205T161500 DTEND:20230205T163500 SUMMARY:Towards Secure Boot for NixOS DESCRIPTION:This talk gives an overview about the state of Lanzaboote, a set of tools that enable Secure Boot for NixOS.
UEFI Secure Boot is a firmware security feature that prevents untrusted code from booting on a system. Users can utilize this technology to prevent certain kinds of attacks that involve booting malicious code on their computers. Unfortunately, NixOS has no support for Secure Boot yet.
The talk will give a short background of Secure Boot, go through NixOS-specific challenges, and explain the strategy we took for enabling Secure Boot in NixOS. We will highlight the newly developed components, such as a custom UEFI boot stub and companion Linux userspace tool, which are both written in Rust. Finally, we will explain the current state of upstreaming Secure Boot support in NixOS.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Nix and NixOS URL:https:/fosdem.org/2023/schedule/2023/schedule/event/nix_and_nixos_towards_secure_boot/ LOCATION:H.2214 ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Julian Stecklina":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:14449@FOSDEM23@fosdem.org TZID:Europe-Brussels DTSTART:20230205T163500 DTEND:20230205T165500 SUMMARY:A success story of adopting Nix at a workplace DESCRIPTION:In this talk I will tell a success story of how I managed to drive Nix adoption at Profian starting with reproducible release binary builds, to project CI and all the way to using NixOS in production. I will discuss the benefits gained from the company-wide Nix adoption, share the approach used for achieving this, my strategy for introducing colleagues to Nix, lessons learnt, pitfalls and hurdles encountered, as well as problems identified in the process.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Nix and NixOS URL:https:/fosdem.org/2023/schedule/2023/schedule/event/nix_and_nixos_a_success_story/ LOCATION:H.2214 ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Roman Volosatovs":invalid:nomail END:VEVENT END:VCALENDAR