Marsnix could be a lot quicker, if the list of derivations to substitute would not have to be computed on each client.
The marsnix project could set-up a github action that pre-computes the list of dervations required for a specific nixpkgs revision.
This is especially useful regarding #3