Here's why Nix is great.
Let's say I want to do a thing, but that thing requires stuff:
$ git clone https://github.com/mszep/pandoc_resume $ cd pandoc_resume $ vim resume.md $ make resume.pdf make: command not found
Well, shoot. I don't have
make installed. Even if I did, this project's
Makefile requires both
context, and I don't have those installed either.
I don't really want to have to install
context just to try this thing out. With Nix, I don't have to.
Let's try running
make again, letting Nix handle the dependencies:
$ nix-shell -p gnumake pandoc texLiveFull --run 'make resume.pdf'
It worked! But now I have
context installed, right? I didn't want that.
$ make make: command not found $ pandoc pandoc: command not found $ context context: command not found
Nope! Immutable configuration is immutable.
context might need
mtxrun --generate run once before it's used.