Nix Flakes: An Introduction
christine.website
christine.website
I'd love to comment on the article other than it looking very thorough, but being a NixOS user means I'm cursed to not be able to tell what "obvious" thing you might have missed. What I can say is "congratulations on posting a beginner's course knowing full well you're cursed as well", and thanks for publishing your blog! I've found it to be a great resource multiple times.
The biggest negative difference I've felt is that the 'nix classic' way of imperatively installing a package to a profile (`nix-env -iA nixpkgs.<name>`) isn't forward-compatible with the 'nix command' equivalent(`nix profile install nixpkgs#<name>`). And the latter is only compatible with flakes. So, you can use `nix-env`, until you use `nix profile`. -- nix-env/nix profile 'discouraged' because they're prone to problems from "I forgot I did that" / "I didn't know I did that".. but, still. (e.g. home-manager uses nix-env under the hood).
But I think a suggested DX is to make use of direnv. e.g. the nix-direnv template: https://github.com/nix-community/nix-direnv/blob/master/temp...
I think this still leaves a gap from what `nix-shell --pure` had.