Upgrade to Pro — share decks privately, control downloads, hide ads and more …

A puppet pro decides to learn nix

A puppet pro decides to learn nix

Configuration management is nothing new for Michael Stahnke. In this talk, he’ll be looking at Nix, the functional package manager (and a bit of NixOS) from a foundational point of view and contrasting it from the theory and foundations coming from Puppet (with a few other tool comparisons thrown in).

While configuration management’s role in delivering applications has changed over the years, the time is ripe to take what we’ve learned in the last 15 years - through containers, cloud native architectures and massively distributed systems - and develop a continually evolving approach.

This will have some humor, some information, and some ideas about where we could head in the configuration management space given our cumulative knowledge.

Video: https://youtu.be/ECafEosi5Lo?t=27750

Michael Stahnke

February 03, 2025
Tweet

More Decks by Michael Stahnke

Other Decks in Technology

Transcript

  1. A puppet pro decides to learn nix Michael Stahnke VP

    Engineering at Flox (flox.dev) @stahnma
  2. 20

  3. 22 First impressions with nix: This seems very grounded in

    academics. Why do I want n versions of a library on a system? Holy cow, the complete disregard for FHS is a crime against all things unix. @stahnma
  4. 23

  5. 30

  6. 32 People smarter than me were using nix to solve

    local development problems @stahnma
  7. 40 Why is this so complicated? This is Avril Lavigne.

    She was kind of a big deal in like 2002. She had a history song titled “Complicated” @stahnma
  8. 43 People smarter than me were using nix to solve

    local development problems @stahnma
  9. 44

  10. 45

  11. 52 Other problems Can’t find headers Can’t find libraries Shell

    vs develop Experimental Features Is this a package manager, a package repository, an OS, or a tool? @stahnma
  12. 60 Ok, so there’s a catalog, but I can’t load

    variables into it. Nix @stahnma
  13. 70 People smarter than me were using nix to solve

    local development problems @stahnma
  14. From the US Version of the “The Office.” But, I

    only know it from the internet. @stahnma
  15. 92

  16. 99

  17. NixOS 101 • Awesome at single system management • Fleets

    take a bit more planning for secret distribution, variable needs, etc. @stahnma
  18. Nix 102 • Cross platform packaging needs • Trying out

    software • Reproducibility @stahnma
  19. Puppet 103 • Better when you have existing systems to

    manage • Enforce state if you have manual drift @stahnma
  20. Least Favorite Things 104 • The complexity of the server

    stack. (JDK, Ruby, 13 configuration grammars, etc) • SSL…fun • Company…changes @stahnma
  21. Least Favorite Things 105 • Nixpkgs naming of packages •

    Docs for some things non-existent (read the source) • Version not really being a first-class piece of metadata • Experimental features @stahnma