I used Ubuntu once a few years ago but had compatability issues so I went back to windows. Not a great programmer but I'd like to learn. I'm not looking to do much gaming beyond DOOM2 and factorio. Mostly looking for privacy and a way to get back into programming (I have this pipe dream of learning Assembly). I'm not to particular on UI, I can use whatever.
Edit: https://distrochooser.de for anyone who stumbles upon this post with the same question
nixOS , because it's a completely atomic distribution, like a docker container OS style. You define the state of the system in a configuration file, which can even control the kernel, and you can switch to an older configuration file in any reboot. It's more of a pain than the others, but it works ok out of the box and when you fix something it stays fixed so you'll never end up in a situation where something breaks and you can't fix it.
Also, all the packages bring their own versions of their own libraries and directly link to them so they'll never break during upgrades, but conversely a lot of Linux installers that try to link to system libraries won't work.
NixOs is so much fun (it is my main distro rn) but I would never recommend it to someone who is just switching from windows for the first time. Any more mainstream distro would be better, but I would still recommend using the nix package manager because it's just so good
I love NixOS but it can be quite difficult to learn, so learning both linux and nixos at once would be pretty difficult. It'd probably be easier for them to use some normal distro while they figure out how linux works and then switch to NixOS later.
Maybe Fedora Kinoite instead?
That's fair. nixOS can be savage. But I think it's also helpful for a beginner since you can't break it. A beginner is much more likely to break their system than an expert.