

Somewhat of a cheap answer, but I feel what illustrates the difference quite well is that Linux follows the design from UNIX, which was a research project with stupid amounts of money to at least try to get things right. On the other hand, Windows originated from an OS, which was referred to by its developers as “Quick and Dirty Operating System”.
And I do feel like these foundations have informed the design of all the layers built on top.
Ah yeah, that didn’t make a ton of sense. To some degree, I wanted to say that it may show up in various config files, which you’re right, I could template with a shell script.
But then I’m using Nix for scripting, which has a concept that everything should be defined in the repo, so you shouldn’t have dependencies on external state like
$HOME
or$USER
.I’m still working out to what degree that’s actually necessary/useful (and I do have a workaround, so I don’t need to check in my username). But I’m guessing, it comes partially from the ‘proper’ thing being NixOS, where you define the whole OS in your configuration, so you would need to type out at some point anyways, what the user should be called, so that it can create it.