2/6
So the real workflow is:
Bootstrap (ISO or nix-infect)
Create storage (manually/script)
Apply flake
System activates and redirects state into /persist
For each host, recovery must restore not just configuration, but a compatible pair:
(flake revision, persist snapshot)
The trusted recovery unit is therefore not “latest flake” alone, but a
known-compatible pairing of system definition and persisted state.
@adingbatponder you can use flakes to create storage with Disko: https://github.com/nix-community/disko
However, I've found it tends to make recovery harder since it tends towards needing you to wipe and repartition if things are out of whack