Intro

to Nix

Package managers

OS-level Language-specific
apt
yum
apk
homebrew
...




 
npm
pip
Maven
rubygems
luarocks
...

Package managers

OS-level Language-specific
apt
yum
apk
homebrew
...




 
npm
pip
Maven
rubygems
luarocks
...

Nix

Package managers

OS-level Language-specific
apt
yum
apk
homebrew
...




 
npm
pip
Maven
rubygems
luarocks
...

Nix

Why another package manager?

  • Portable
  • Supports multiple package versions/variants
  • Atomic upgrades and rollbacks
  • Multi-user support
  • Source dependencies, with binary cache
  • "Purely functional"

Let's make a package

nix-shell

#! nix-shell

NixOS

NixOps

Made with Slides.com