From Bash to Nix
summary
Claims that Nix replaces Bash as the project-level glue by making every entrypoint a reproducible Nix package and a single command. Demonstrates flakes with flake lock for reproducibility, uses runCommand and makeDerivation to produce real executables (runCommand + makeDerivation), composes many script-commands with symlinkJoin and a fixpoint pattern to self-reference, and actually builds and runs a Node server plus a pipeline that transpiles FP modules with Fable into Rust and runs the Rust CLI (fable to Rust transpilation). All examples build and run from the flake and from nix run on a GitHub repo.
AI-written summary · about
chapters (11)
- 0:00Introduction
- 1:46Bash to Nix overview
- 5:23Flakes and reproducibility
- 10:23Command pattern in Nix
- 16:46Fix points and modularity
- 22:36SymlinkJoin and attributes
- 26:12Refining runCommand
- 28:42Pure and non-pure packages
- 31:15Command pattern demo
- 37:20Sharing commands across projects
- 39:07Q&A
related talks
59mReproducable environments using nix
34mNix for developers and ops
01h 03mNixOS
06mNix: The declarative package manager
05mNix: A functional package manager for your C++ software stack
58mFunctional Infrastructure With Nix - Part 1 of 2
41mCloud Native Nix!
36mFunctional programming and Nix for reproducible, immutable infrastructure
