Let's first ask ourselves: What should the Getting Started section of a project look like?
Abstractly, I think it should be something like this:
git clone <repo-name> && cd <repo-name>"Install the necessary dependencies"
"Run the app as intended"
And well, we all know what it can look like—I won't go into that here.
With a devShell from a Nix Flake, we can get to this:
(You probably need to install Nix first: )
curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- installgit clone <repo-name> && cd <repo-name>nix develop"Run the app as intended"—if your
flake.nix-Person did it right,nix developshould make clear how to do that.
And the best part? One person can setup this flake, once—and the 'works on my machine'-days are gone.
That's all I've got for today. See you tomorrow! 🚢 👋