Full Time Nix

Shahar "Dawn" Or
undefined
Mar 25, 2025 • 1h 20min

Stable linking with Farid Zakaria

Pre-roll transcript:Before you is an episode of the Full Time Nix podcast. My name is Dawn. My job (self-appointed) is to empower the Nix user. If you're listening on the website, consider listening on a podcast app—they offer fancy features. To new listeners I would recommend starting with a recent episode ...which this might be. I hope you’ll find this episode informative and entertaining.---Summary (generated)In this conversation, Shahar "Dawn" Or interviews Farid Zakaria, a software engineer and PhD candidate, about his experiences with Nix, a powerful tool for reproducible software development. Farid shares his journey of learning Nix, its infectious nature, and its application in enterprise environments. He discusses the concept of innovation tokens, the challenges of teaching Nix, and how it has influenced his PhD research. The conversation also delves into dynamic linking, performance improvements, and the potential of Nix as a research platform. In this conversation, Farid Zakaria discusses the challenges and innovations in software performance, particularly focusing on application start-up times and the implications of dynamic versus static linking. He introduces the concept of stable linking, which aims to enhance software responsiveness and security while addressing historical decisions in software development. The discussion also touches on the potential for broader applications beyond C/C++, the importance of auditing in software, and the cultural shifts needed in the software development community to adopt these innovations.Takeaways (generated)Nix empowers reproducible software development.The journey to learning Nix can be challenging but rewarding.Nix is increasingly being adopted in enterprise environments.Innovation tokens are crucial for evaluating new technologies.Teaching Nix effectively requires understanding its practical applications.Nix can significantly improve development environments.Dynamic linking presents unique challenges that Nix can address.Nix allows for performance optimizations in software applications.Nix serves as a valuable research platform for PhD candidates.The community around Nix is diverse and supportive.Application start-up times can be significantly improved with optimization techniques.Reducing the number of symbols in applications can lead to faster performance.Stable linking offers a way to enhance software security and performance.Dynamic linking has historical roots in resource constraints and code reuse.The future of software may see faster responsiveness across all applications.Auditing software for compatibility and security is crucial in modern development.Compiler innovations can lead to substantial speed improvements in software builds.C and C++ are not the only languages that can benefit from these linking techniques.Cultural shifts in the software community are necessary for adopting new practices.Practical implementation of stable linking could revolutionize how software is built and run.Chapters (generated)00:00 Introduction and Background02:14 Exploring Nix and Its Community05:00 The Transition from Hobbyist to Enterprise06:47 Nix's Infectious Nature and Deployment Challenges09:18 The Appeal of Nix for Development Environments11:48 Innovation Tokens and Nix's Value Proposition13:57 Bringing Nix to Looker and Google15:39 Teaching Nix and Overcoming Adoption Hurdles18:33 The Role of Nix in PhD Research21:04 Dynamic Linking and Performance Optimization23:41 Benchmarking and Results26:19 Conclusion and Future Directions48:14 The Impact of Speed on Software Development55:34 The Future of Dynamic Linking and Its Implications58:49 Stable Linking: A New Paradigm01:05:04 Revisiting the Rationale Behind Dynamic Linking01:11:15 Implementing Stable Linking in Nixpkgshttps://fzakaria.com/https://www.confluent.io/https://kafka.apache.org/https://bazel.build/https://www.ucsc.edu/https://fulltimenix.com/episodes/domen-kozarhttps://fulltimenix.com/episodes/jonathan-ringerhttps://edolstra.github.io/pubs/phd-thesis.pdfhttps://cloud.google.com/lookerhttps://www.youtube.com/watch?v=HGEY6ABQUBwhttps://www.youtube.com/watch?v=GkgsFbwYdYAhttps://www.youtube.com/watch?v=HZKFe4mCkr4https://www.youtube.com/watch?v=gQstiX7H8MQ&t=183shttps://spack.io/https://www.debian.org/https://fedoraproject.org/“apt-get mindset”https://brew.sh/https://nixos.org/manual/nixpkgs/unstable/#haskellhttps://nixos.org/manual/nixpkgs/unstable/#pythonhttps://man7.org/linux/man-pages/man8/ld.so.8.htmlhttps://github.com/nix-community/nix-ldhttps://supercomputing.org/https://github.com/fzakaria/shrinkwraphttps://github.com/NixOS/nixpkgs/pull/207061https://arxiv.org/abs/2501.06716How To Write Shared Libraries by Ulrich Drepperhttps://en.wikipedia.org/wiki/Address_space_layout_randomizationhttps://en.wikipedia.org/wiki/Global_Offset_Tablehttps://clang.llvm.org/https://www.openoffice.org/https://en.wikipedia.org/wiki/Network_File_Systemhttps://en.wikipedia.org/wiki/Epychttps://en.wikipedia.org/wiki/NVM_Expresshttps://musl.libc.org/https://www.alpinelinux.org/https://cve.mitre.org/https://github.com/openssl/openssl#overviewhttps://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standardhttps://en.wikipedia.org/wiki/Executable_and_Linkable_Format
undefined
Mar 14, 2025 • 1h 23min

Remote builders and stores, nixbuild.net with Rickard Nilsson

Pre-roll transcript:Before you is an episode of the Full Time Nix podcast. My name is Dawn. My job (self-appointed) is to empower the Nix user. If you're listening on the website, consider listening on a podcast app—they offer fancy features. To new listeners I would recommend starting with a recent episode ...which this might be. I hope you’ll find this episode informative and entertaining.---https://cache.nixos.orghttps://nixbuild.net/https://nix.dev/manual/nix/2.26/store/types/https://www.cachix.org/https://nix.dev/manual/nix/2.26/development/experimental-features.html#xp-feature-dynamic-derivationshttps://nix.dev/manual/nix/2.26/development/experimental-features.html#xp-feature-ca-derivationshttps://lix.systems/https://tvix.dev/https://github.com/ngi-nix/summer-of-nixhttps://nixos.org/community/teams/nix/https://github.com/Ericson2314https://www.haskell.org/https://slurm.schedmd.com/https://planetnix.com/Generated chapters:00:00 Introduction to Nix and Remote Building02:38 Understanding Nix Daemon and Communication Protocols05:01 Exploring Derivations and Their Role in Nix07:26 Setting Up Remote Builders in Nix09:48 Remote Building Process and Configuration12:08 Remote Store vs Remote Builder Features14:21 Managing Build Outputs and Dependencies16:45 Optimizing Remote Builds and Scheduling19:28 Conclusion and Future Improvements24:16 Understanding Remote Store Features24:43 Continuous Integration (CI) Workflows26:37 Leveraging Remote Builders in CI29:20 Exploring Nix Store Components35:26 The Role of Substitutes in Nix40:48 Introducing nixbuild.net: A Solution for Nix Builds50:15 The Power of Concurrency in Build Services54:11 Choosing nixbuild.net for Efficient Builds55:17 Understanding Latency and On-Site Options59:29 Hardware and Architectures for Nix Builds01:01:37 When to Consider nixbuild.net01:03:49 Managing Compatibility with Nix Versions01:06:22 The Nix Community and Company Dynamics01:07:59 Contributions to the Open Source Ecosystem01:16:28 Internal Stack and Resource Management01:21:05 Final Thoughts and Future Directions ---Ad transcript:Adopting an unfamiliar technology such as Nix usually comes at a cost. Productivity takes a hit, some of the team find themselves preoccupied providing Nix support, anti-patterns emerge increasing technical debt and morale is affected.Founded by my friend and mentor Jacek Galowicz, Nixcademy have brought hundreds of individuals up to speed with Nix.Prevent technical debt, liberate your Nix experts and get on top of Nix and back to work early. Visit nixcademy.com.Jacek tells me that most Nixcademy clients returned their investment in training in under three months.They also provide free educational content that I recommend and a Nix newsletter that I subscribe to.nixcademy.com.---Post-roll transcript:Thank you for listening! For past and future episodes find Full Time Nix on your podcast app. You can be of service to others by sharing this episode. You can support me by rating, reviewing, liking and commenting. And if you can spare a dollar I can use a dollar. fulltimenix.com
undefined
Feb 15, 2025 • 1h 33min

Nix on macOS, nixpkgs for darwin, nix-darwin with Randy Eckenrode

Randy Eckenrode, a key figure in the Nix community, shares insights into using Nix on macOS. He discusses the challenges of working with proprietary macOS environments, particularly around compilation and package management. The conversation dives into the complexities of sandboxing, compiler upgrades from Clang 11 to 16, and the intricacies of dependency management. Eckenrode also highlights community contributions aimed at enhancing NixDarwin's functionality, making package management on macOS smoother and more efficient.
undefined
Jan 31, 2025 • 49min

Nix 2.24.11, 2.25.4, 2.24.12, 2.25.5, 2.26.0, 2.26.1 with Nix Team members

Pre-roll transcript:Before you is an episode of the Full Time Nix podcast. My name is Dawn. My job (self-appointed) is to empower the Nix user. If you're listening on the website, consider listening on a podcast app—they offer fancy features. To new listeners I would recommend starting with a recent episode ...which this might be. I hope you’ll find this episode informative and entertaining.---https://github.com/NixOS/nix/releases/tag/2.24.11 https://github.com/NixOS/nix/releases/tag/2.25.4 https://github.com/NixOS/nix/releases/tag/2.24.12 https://github.com/NixOS/nix/releases/tag/2.26.0 https://github.com/NixOS/nix/releases/tag/2.26.1https://github.com/NixOS/nix/issues/6316https://github.com/NixOS/nix/pull/12045https://github.com/NixOS/rfcs/pull/132 ---Ad transcript:Adopting an unfamiliar technology such as Nix usually comes at a cost. Productivity takes a hit, some of the team find themselves preoccupied providing Nix support, anti-patterns emerge increasing technical debt and morale is affected.Founded by my friend and mentor Jacek Galowicz, Nixcademy have brought hundreds of individuals up to speed with Nix.Prevent technical debt, liberate your Nix experts and get on top of Nix and back to work early. Visit nixcademy.com.Jacek tells me that most Nixcademy clients returned their investment in training in under three months.They also provide free educational content that I recommend and a Nix newsletter that I subscribe to.nixcademy.com.---Post-roll transcript:Thank you for listening! For past and future episodes find Full Time Nix on your podcast app. You can be of service to others by sharing this episode. You can support me by rating, reviewing, liking and commenting. And if you can spare a dollar I can use a dollar. fulltimenix.com
undefined
Jan 15, 2025 • 1h 51min

Contributing to Nixpkgs, NixVim with Gaétan Lepage

Pre-roll transcript:Before you is an episode of the Full Time Nix podcast. My name is Dawn. My job (self-appointed) is to empower the Nix user. If you're listening on the website, consider listening on a podcast app—they offer fancy features. To new listeners I would recommend starting with a recent episode ...which this might be. I hope you’ll find this episode informative and entertaining.---https://github.com/NixOS/nixpkgs/commits?author=GaetanLepagehttps://github.com/nix-community/nixvimhttps://ensimag.grenoble-inp.fr/enhttps://github.com/nix-community/nixvim/commits?author=traxyshttps://nixos.org/manual/nixpkgs/unstable/#pythonhttps://nix.dev/guides/recipes/python-environment.htmlhttps://wiki.nixos.org/wiki/Pythonhttps://github.com/NixOS/nixpkgs/tree/00c24cc9cabab1bb8828311a670242ac80dd2ac5/pkgs/development/python-modules/torchhttps://wiki.nixos.org/wiki/JAXhttps://github.com/NixOS/nixpkgs/tree/00c24cc9cabab1bb8828311a670242ac80dd2ac5/pkgs/development/python-modules/jaxhttps://wiki.nixos.org/wiki/Tensorflowhttps://github.com/NixOS/nixpkgs/blob/00c24cc9cabab1bb8828311a670242ac80dd2ac5/pkgs/development/python-modules/tensorflowhttps://github.com/NixOS/nixpkgs/blob/00c24cc9cabab1bb8828311a670242ac80dd2ac5/pkgs/development/python-modules/protobufhttps://github.com/NixOS/nixpkgs/issues/157398https://github.com/NixOS/rfcs/pull/166https://github.com/NixOS/rfcs/pull/140Some recent contributions by Gaétanhttps://github.com/NixOS/nixpkgs/pull/362844https://github.com/NixOS/nixpkgs/pull/363751https://github.com/Mic92/nixpkgs-review/pull/440https://github.com/NixOS/nixfmthttps://github.com/nix-community/nix-inithttps://github.com/ekala-projecthttps://github.com/jonringerhttps://github.com/nrdxphttps://github.com/nix-community/nixvimhttps://github.com/nix-community/home-managerPedro Alveshttps://github.com/pta2002https://github.com/traxyshttps://github.com/MattSturgeonhttps://github.com/khanelimanhttps://github.com/nix-community/nixvim/graphs/contributorsNixvim: Configure Neovim with the power of Nix (NeovimConf 2023): https://youtu.be/GOe0C7Qtypk?si=T9gd0evaS8W3HvG-```nix run github:mightyiam/infra#nixvim```https://github.com/folke/lazy.nvimhttps://github.com/nvim-neorocks/lz.nGenerated chapters:00:00 Introduction to the Podcast and Guest06:15 Understanding NixOS Use Cases11:53 The Contribution Process Explained25:22 Nixpkgs Review Tool and CI Challenges34:26 Infrastructure and CI Limitations38:37 Transitioning to GitHub Actions45:07 Multi-System Evaluation Explained50:32 Contributions to Python Packages58:08 Challenges in Nix Packages01:02:27 Recent Progress in Nixpkgs01:07:53 NixVim Features and Benefits01:11:22 Gaétan's Involvement in NixVim01:19:33 NixVim: Configuration vs Distribution01:23:44 NixVim Options and Flexibility01:26:27 Plugin Management in NixVim01:29:27 Settings and Configuration Options01:32:06 Keeping Up with Plugin Changes01:37:24 User Contributions and Community Engagement01:44:13 Future Perspectives for NixVim ---Ad transcript:Adopting an unfamiliar technology such as Nix usually comes at a cost. Productivity takes a hit, some of the team find themselves preoccupied providing Nix support, anti-patterns emerge increasing technical debt and morale is affected.Founded by my friend and mentor Jacek Galowicz, Nixcademy have brought hundreds of individuals up to speed with Nix.Prevent technical debt, liberate your Nix experts and get on top of Nix and back to work early. Visit nixcademy.com.Jacek tells me that most Nixcademy clients returned their investment in training in under three months.They also provide free educational content that I recommend and a Nix newsletter that I subscribe to.nixcademy.com.---Post-roll transcript:Thank you for listening! For past and future episodes find Full Time Nix on your podcast app. You can be of service to others by sharing this episode. You can support me by rating, reviewing, liking and commenting. And if you can spare a dollar I can use a dollar. fulltimenix.com
undefined
Dec 24, 2024 • 1h 13min

Formatting Nixpkgs with Silvan Mosberger

Pre-roll transcript:Before you is an episode of the Full Time Nix podcast. My name is Dawn. My job (self-appointed) is to empower the Nix user. If you're listening on the website, consider listening on a podcast app—they offer fancy features. To new listeners I would recommend starting with a recent episode ...which this might be. I hope you’ll find this episode informative and entertaining.---https://www.youtube.com/@molybdenumsoftwarehttps://github.com/NixOS/rfcs/pull/101https://github.com/NixOS/nixfmtnixfmt created by https://serokell.io/https://github.com/nix-community/nixpkgs-fmthttps://github.com/NixOS/rfcs/pull/166https://github.com/kamadorueda/alejandrahttps://piegames.de/https://github.com/0x4A6Fhttps://github.com/tomberekhttps://github.com/dasJhttps://nixos.org/community/teams/formatting/https://github.com/numtide/treefmthttps://github.com/NixOS/nixpkgs/pull/322537https://github.com/NixOS/nixpkgs/pull/322537#issuecomment-2532934880https://www.tweag.io/https://antithesis.com/https://hintjens.gitbooks.io/social-architecture/content/chapter4.htmlhttps://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.mdhttps://moduscreate.com/Auto-generated chapters:00:00 Introduction and Background01:44 The Journey to Standardized Formatting06:17 The Evolution of RFC 101 to 16611:22 The Role of the Shepherd Team15:59 Defining the Formatting Rules19:51 Finalizing the RFC and Implementation25:01 Implementation Insights and Challenges27:23 Finalizing the Formatter and Addressing Issues30:09 Tree-Wide Reformatting: Strategies and Challenges34:15 Ensuring Consistency in Formatting38:54 Future Plans for Formatting and Maintenance46:51 Enhancing PR Review Processes49:28 Streamlining Local Formatting with treefmt53:14 Managing Version Control and Formatting Conflicts55:45 The Role of the Formatting Team57:16 Exploring Linting and Future Maintenance01:01:02 Automation and Community Contributions01:04:10 C4 Guidelines for Effective PR Reviews01:07:30 The Future of Documentation and Automation01:10:15 Motivation Behind Community Contributions ---Ad transcript:Adopting an unfamiliar technology such as Nix usually comes at a cost. Productivity takes a hit, some of the team find themselves preoccupied providing Nix support, anti-patterns emerge increasing technical debt and morale is affected.Founded by my friend and mentor Jacek Galowicz, Nixcademy have brought hundreds of individuals up to speed with Nix.Prevent technical debt, liberate your Nix experts and get on top of Nix and back to work early. Visit nixcademy.com.Jacek tells me that most Nixcademy clients returned their investment in training in under three months.They also provide free educational content that I recommend and a Nix newsletter that I subscribe to.nixcademy.com.---Post-roll transcript:Thank you for listening! For past and future episodes find Full Time Nix on your podcast app. You can be of service to others by sharing this episode. You can support me by rating, reviewing, liking and commenting. And if you can spare a dollar I can use a dollar. fulltimenix.com
undefined
Dec 13, 2024 • 19min

Nix 2.25.3 with Jacek Galowicz

Pre-roll transcript:Before you is an episode of the Full Time Nix podcast. My name is Dawn. My job (self-appointed) is to empower the Nix user. If you're listening on the website, consider listening on a podcast app—they offer fancy features. To new listeners I would recommend starting with a recent episode ...which this might be. I hope you’ll find this episode informative and entertaining.---https://github.com/NixOS/nix/releases/tag/2.25.3 ---Ad transcript:Adopting an unfamiliar technology such as Nix usually comes at a cost. Productivity takes a hit, some of the team find themselves preoccupied providing Nix support, anti-patterns emerge increasing technical debt and morale is affected.Founded by my friend and mentor Jacek Galowicz, Nixcademy have brought hundreds of individuals up to speed with Nix.Prevent technical debt, liberate your Nix experts and get on top of Nix and back to work early. Visit nixcademy.com.Jacek tells me that most Nixcademy clients returned their investment in training in under three months.They also provide free educational content that I recommend and a Nix newsletter that I subscribe to.nixcademy.com.---Post-roll transcript:Thank you for listening! For past and future episodes find Full Time Nix on your podcast app. You can be of service to others by sharing this episode. You can support me by rating, reviewing, liking and commenting. And if you can spare a dollar I can use a dollar. fulltimenix.com
undefined
Dec 12, 2024 • 1h 35min

Trust in Nix with Martin Schwaighofer

Pre-roll transcript:Before you is an episode of the Full Time Nix podcast. My name is Dawn. My job (self-appointed) is to empower the Nix user. If you're listening on the website, consider listening on a podcast app—they offer fancy features. To new listeners I would recommend starting with a recent episode ...which this might be. I hope you’ll find this episode informative and entertaining.---https://fulltimenix.com/episodes/martin-schwaighofer-steering-committee-candidatehttps://www.cs.cmu.edu/~rdriley/487/papers/Thompson_1984_ReflectionsonTrustingTrust.pdfhttps://github.com/NixOS/nixpkgshttps://oxide.computer/https://github.com/nix-community/lanzabootehttps://en.wikipedia.org/wiki/UEFI#Secure_BootNixCon2024 rebuilding builders instead of trusting trust https://youtu.be/UlJUpUQc9Lc?si=_EebfQszx062M2mRExtending cloud build systems to eliminate transitive trust:https://discourse.nixos.org/t/extending-cloud-build-systems-to-eliminate-transitive-trust/50841https://scored.dev/https://reproducible-builds.org/Build systems à la carte: Theory and practicehttps://www.cambridge.org/core/journals/journal-of-functional-programming/article/build-systems-a-la-carte-theory-and-practice/097CE52C750E69BD16B78C318754C7A4?utm_campaign=shareaholic&utm_medium=copy_link&utm_source=bookmarkImplementing a content-addressed Nix, 2 December 2021 — by Théophane Hufschmitthttps://www.tweag.io/blog/2021-12-02-nix-cas-4/https://github.com/nix-community/trustixhttps://nixos.org/research/00:00 Introduction and Background01:28 Martin's Journey in Computer Science02:57 Compiler Construction Course Insights04:20 The Concept of Self-Compiling Compilers07:10 Hiding stuff in the compiler08:47 Trusting Trust: Compiler Security Issues09:58 Nix and Build Process Management12:09 Bootstrapping and Auditing in Nixpkgs13:21 Trust in Software and Hardware Security18:01 Secure Boot and Its Implications20:39 Scenario: Government Agency Targeting22:15 More on boot security28:09 The Role of Secure Boot and Measured Boot29:52 Measured boot35:13 Democratizing Trust with Remote Attestation36:11 Raising the bar on security39:31 Research Directions in Supply Chain Security47:34 Enhancing Nix for Security and Efficiency50:20 Understanding Reproducibility in Build Processes53:13 Navigating Trust and Threat Models in Nix53:22 Identifying Gaps in Nix's Trust Mechanisms56:48 Attribution and Trust in Build Systems01:05:35 Distinguishing Between Input and Content Addressing in Nix01:06:38 Nix store hashes 01:12:52 The Challenges of Content Addressing01:14:04 Self-References and Their Implications01:20:24 Trust and Attribution in Build Processes01:24:31 Future Directions for Nix and Content Addressing01:30:00 Sponsoring opportunitySponsor: ---Ad transcript:Adopting an unfamiliar technology such as Nix usually comes at a cost. Productivity takes a hit, some of the team find themselves preoccupied providing Nix support, anti-patterns emerge increasing technical debt and morale is affected.Founded by my friend and mentor Jacek Galowicz, Nixcademy have brought hundreds of individuals up to speed with Nix.Prevent technical debt, liberate your Nix experts and get on top of Nix and back to work early. Visit nixcademy.com.Jacek tells me that most Nixcademy clients returned their investment in training in under three months.They also provide free educational content that I recommend and a Nix newsletter that I subscribe to.nixcademy.com.---Post-roll transcript:Thank you for listening! For past and future episodes find Full Time Nix on your podcast app. You can be of service to others by sharing this episode. You can support me by rating, reviewing, liking and commenting. And if you can spare a dollar I can use a dollar. fulltimenix.com
undefined
Nov 14, 2024 • 31min

Nix 2.25.0, 2.25.1, 2.25.2 with Jacek Galowicz

Pre-roll transcript:Before you is an episode of the Full Time Nix podcast. My name is Dawn. My job (self-appointed) is to empower the Nix user. If you're listening on the website, consider listening on a podcast app—they offer fancy features. To new listeners I would recommend starting with a recent episode ...which this might be. I hope you’ll find this episode informative and entertaining.---https://github.com/NixOS/nix/releases/tag/2.25.0https://github.com/NixOS/nix/releases/tag/2.25.1https://github.com/NixOS/nix/releases/tag/2.25.2 ---Ad transcript:Adopting an unfamiliar technology such as Nix usually comes at a cost. Productivity takes a hit, some of the team find themselves preoccupied providing Nix support, anti-patterns emerge increasing technical debt and morale is affected.Founded by my friend and mentor Jacek Galowicz, Nixcademy have brought hundreds of individuals up to speed with Nix.Prevent technical debt, liberate your Nix experts and get on top of Nix and back to work early. Visit nixcademy.com.Jacek tells me that most Nixcademy clients returned their investment in training in under three months.They also provide free educational content that I recommend and a Nix newsletter that I subscribe to.nixcademy.com.---Post-roll transcript:Thank you for listening! For past and future episodes find Full Time Nix on your podcast app. You can be of service to others by sharing this episode. You can support me by rating, reviewing, liking and commenting. And if you can spare a dollar I can use a dollar. fulltimenix.com
undefined
Nov 5, 2024 • 1h 27min

Tristan Ross

The AI-powered Podcast Player

Save insights by tapping your headphones, chat with episodes, discover the best highlights - and more!
App store bannerPlay store banner
Get the app