I wonder... do people with distros that use declarative package management have use for a similar tool? How do you "spring clean" your installs... apart from reinstalling?
To avoid losing data you want to keep you can also mark directories or files to be stored in the permanent storage.
Take a look at the nixos-impermanence that automates this task to you.
You'd retain the nix package storage between boots (so as to avoid having to redownload/rebuild), and setting the system up just involves setting up some symlinks. - GrahamC's blogpost discusses this in a bit more detail.
"Fresh system each run" isn't too exotic compared to image-based approaches like launching a VM on AWS, or running a Docker image.