The Nix Hour

The Nix Hour is a weekly beginner-oriented improvised QA-style lecture on Nix, hosted by Tweag. Here you can bring your questions and we'll answer them with more context, examples, alternatives, tradeoffs and related topics. These meetings are open for anybody to join, but also recorded and uploaded to the Tweag YouTube channel. For more information check out https://discourse.nixos.org/t/the-nix-hour-a-weekly-nix-qa-lecture-by-tweag/22767

Curated by: Tweag by Modus Create (81 videos)


Currently Playing: The Nix Hour #19 [module system recursion, config vs config, common infinite recursion causes]

The Nix Hour is a weekly beginner-oriented improvised Q&A-style lecture on Nix, where you can bring your questions and we'll answer them with more context, examples, alternatives, tradeoffs and related topics. Feel free to ask questions using the live chat, or even ask questions directly by joining the meeting: https://meet.jit.si/nix-hour. Alternatively ask questions ahead of time by opening an issue in https://github.com/tweag/nix-hour For more information and updates, check out https://discourse.nixos.org/t/the-nix-hour-a-weekly-nix-qa-lecture-by-tweag/22767 00:00 Intro 01:57 From a single fixed-point function to multiple functions 07:59 How the two config's differ 11:55 Why the config fixed-point works at all 13:07 How a simple type merge is implemented 18:22 Implementing a simple merge operation 21:16 Calling the merge operation for each attribute 25:54 Steps towards a complete module system 28:21 Infinite recursion from imports using config 34:15 How mkIf avoids infinite recursion 40:03 The options attribute 42:19 Using imports or mkMerge to define an option multiple times 45:00 Infinite recursion from mkMerge 47:51 Using addErrorContext to add error context 50:29 Workaround for infinite recursion from mkMerge 54:39 Outro


Tracks in this Playlist