I don't want to care about my C:\ drive. I want to be able to casually reinstall Windows whenever I want, and be up and running quickly, with the programs, configuration, and data that I like. This process should be automated and repeatable, and driven by something I can check into github.
Off the top of my head, some of the things I want to know about:
- The best way to get all of my programs installed:
- Should I install everything from scratch into the new installation? If so, what's the best way to do that? Chocolatey?
- Or is there a way to install all my programs on a separate disk to the OS, and have them 'import' somehow into my fresh Windows installation? Does this differ from program to program?
- Automatic configuration of the Windows settings I care about. Is there a better way than powershell scripts?
- Separation of my data from the OS. E.g., is it safe to symlink my entire User folder from a separate disk? I like Windows' Libraries feature, but that doesn't cover AppData, or all of the programs that write user data to
- What about all the Windows updates?
- What about drivers?
- Anything else I should think about?
I hope this isn't too broad of a question; I think it would be nice to have a bit of a canonical reference on how to make your home PC into cattle instead of a pet.
(Final note: I am a developer, with some Puppet experience, but ideally answers to this question should be useful for future readers who are superusers, but not necessarily programmers.)