I am finding myself answering a lot of the same questions about Flakes repeatedly.
I’ve created this repo to try and emphasize that flakes are mostly just syntax and a mechanism for localizing and locking inputs, in the pursuit of pure, hermetic builds. Further, it builds a system config, with and without flakes to prove that they produce the same output.
https://github.com/colemickens/nixos-flake-example, though “flake-essentials” might be a better name?
I think I should probably take it as a goal to move most of this information into the Flakes wiki page but (1) I can write Markdown twice as fast as wiki syntax, and (2) it is useful to have the repo+script in one place for demonstrative purposes. At the very least, the implicit use of
flake.nix from a directory should be documented, it trips some folks up.
Please LMK if you think this is useful, have feedback, etc, or just open issues on that repo.