A lot of management solutions assume that you want to run a whole fleet of machines. However, you as a person will only have 1 machine. It's going to be a "pet" not "cattle".
The only things I'd suggest as worth it are:
- separate "data" partition on D:, backed up
- back up %APPDATA% and %USERPROFILE%
- learn one of chocolatey or winget
- WSL2 is a Linux VM; "git bash" is surprisingly good at providing a hybrid environment on the Windows filesystem
- otherwise, just let everything dump itself into C:\Program Files and don't worry too much about it. This is what everyone else will be doing.
It used to be beneficial to do regular reinstalls, but those days are long past. I'd expect you to be able to make it through a 3 year course without having a broken installation incident.
(Not clear what tooling you'll be using? Visual Studio? VSCode? What language(s)?)
C:\ (BOB) and D:\ (DATA) have been the names of my window partitions for literally as long as I can remember.
Bob is a homage to an old (deceased sadly) family friend, he worked in aerospace in the 1980's and since he knew I was into computers he was kind enough to give me his deprecated kit - so my first PC had a partition named Bob and I've continued it ever since :).
Without Bob I'd most likely be working a near minimum wage job doing something I hated - he gave me access to an IBM PC Compatible when no way could my family have afforded one plus he was a programmer so he gave me books (those paper things we had before the internet).
> However, you as a person will only have 1 machine.
1 machine at a time.
A configuration allows you to setup a new machine quickly and consistently when one breaks, get stolen, or lost in an inconvenient time.
More importantly, as a developer you want a clean and consistent development environment so that you do not depend on anything accidentally installed on the machine.
In a previous project, development was tied to a specific machine and until I fixed it, the team simply could not migrate to a new machine if anything happened to it.
I’m my experience, softwares (and related configs) change enough from one machine to the next that it’s mostly a waste of time. Unless you plan on switching hardware yearly or something it’s a waste of time to overthink so sort of config management.
On top of that you are unlikely to do and need the exact same thing when you will be switching hardware (considering how evolution has slowed down); and new hardware is very often motivated by a change of activity (so the relevant specs and setup te d to change).
Don’t overthink it, just install a plain old windows, use VMs to test stuff and fix things as you go along.
Nowadays Windows is stable enough that you are unlikely to need much fixing until you are ready to change the hardware anyway…
It can be a lot clearer organizationally to keep things created intentionally on a separate partition, to distinguish from all the stuff dumped into your profile by applications. And if you fill up the "data" partition accidentally it doesn't prevent the system from functioning.
The only things I'd suggest as worth it are:
- separate "data" partition on D:, backed up
- back up %APPDATA% and %USERPROFILE%
- learn one of chocolatey or winget
- WSL2 is a Linux VM; "git bash" is surprisingly good at providing a hybrid environment on the Windows filesystem
- otherwise, just let everything dump itself into C:\Program Files and don't worry too much about it. This is what everyone else will be doing.
It used to be beneficial to do regular reinstalls, but those days are long past. I'd expect you to be able to make it through a 3 year course without having a broken installation incident.
(Not clear what tooling you'll be using? Visual Studio? VSCode? What language(s)?)