I have been using Windows my entire life, but since I got my Steam Deck I’ve been considering trying to get into Linux.
I obviously don’t have much of an idea where to begin, other than that I’m currently also trying to learn Javascript. I'd like a basic workstation I can code on and mess with, that doesn't run more than a couple hundred. Could use some recommendations for hardware plus where to begin.
Yes. If you are new, no reason why you should use "sudo apt install xyz".
NixOS has a GUI setup, a GUI package manager etc.
Never recommend any random "supposedly working" Distro. It will break some day, get cluttered with useless files, have broken dependencies or whatever. I broke every Distro before.
I am on Fedora Kinoite now, which I consider a good Distro for most people especially beginners (the ublue variants). I guess layering all the development stuff could work. Using Containers for everything does not work well with IDEs, you need to run these in the container too...
So in the end for someone that wants to code I would not use any random traditional Distro as in my experience all break. But a real immutable distro might also not fit if you need to layer so much.
So why not NixOS? Its very easy to setup and you need to learn everything new anyways.
As a NixOS user, I will definitely not recommend beginners to use this distro. It's just a poorly documented, not user-friendly Linux.
I use it because I really hate .config and dotfiles, like why do I need to edit several files for just one thing?
Standalone nix installation and Home-manager would be fine though, I still not recommend them because at least I cannot tell if the binary I'm executing right now is installed from Nix or apt or whatever until I execute which
Sudo apt... is not the problem. Home-manager and a list of packages are so much better and easier to manage. That's why I'm currently running nix on top of Debian.
The problems start when you want to modify something, or when you want to use tools that expect fhs complience. Then you run into a skill mountain and discover that the documentation is not great.
At least that's my experience with guixos and nix. I haven't tried nixos, and if I do, it'll be only to generate docker images and such.
For a workstation, in most cases, there are simply not enough benefits to deal with the bs that comes with a declarative os.
Overwhelming someone who's learning something new will increase their chance of giving up. Not only they have to learn how to use Linux in general, now they'll have to learn about nixos declarative configuration model on top of that. When they eventually get stuck with some issue (which is normal when learning something new), there are less resource to help them on the internet because they're using a niche distro.
This happens on Ubuntu too. Just that there the best tip will be "try reinstalling the system", because traditional distros are so unmanaged, that they pile up unused files and packages over time, and simply random things happen.
Believe me, I broke Ubuntu, Linux Mint, Manjaro, Fedora. MXLinux was so old that I my Nextcloud was not compatible. I was a beginner and every Distro sucked.
If i would have just learned any of the managed Distro models (rpm-ostree, A/B root, transactional-update, NixOS, ...) I wouldnt have needed to switch
Distrohopping makes no sense, you should try Desktops but the Distro should just work.
Install Debian, and if you've got a reasonable powerful computer, install NixOS in a virtual machine. Then, when it breaks and you get frustrated, you aren't down to zero OSes.
I agree, one friend installed Debian because he saw that everyone recommended it, but he couldn't understand how to make VirtualBox work, even less when I explained the reason to him. He ended up returning to Windows because of more issues and he didn't like troubleshooting as much as I do lol
I'd say Linux Mint is pretty good too, Debian alone may be harder for new people who wants a system that just works out of the box.