The current Nix install scripts do an excellent job. However, they are challenging to maintain. The team at Determinate Systems wishes to experiment with the idea of an installer in a more structured language and see if this is a worthwhile alternative. Along the way, we are also exploring a few other ideas, such as:
offering users a chance to review an accurate, calculated install plan
having ‘planners’ which can create appropriate install plans
keeping an installation receipt for uninstallation
offering users with a failing install the chance to do a best-effort revert
doing whatever tasks we can in parallel
So far, our explorations have been quite fruitful, so we wanted to share.