I’m ditching Windows in favor of Linux on my personal desktop. And so I’m looking for advice on which distro I should start with.
About Me
I use Linux professionally all the time but mostly to build ci/cd pipelines and for software development/operations. I’ve never been a Linux admin nor have I ever chosen the distro I use. I’m generally comfortable using Linux and digging into configs/issues as needed.
Planned Usage
I use this machine for typical home usage: Firefox, a notes app (currently Notesnook), maybe office style tools like word and excel. I also use this for gaming: Steam, Discord, etc. Lastly and least important, I use this for a small amount of dev work: VSCode, various languages, possibly running containers.
What I’m Looking For
I’d like an OS that’s highly configurable but ships with good default settings and requires very little effort to start using. I don’t want it to ship with loads of applications; I want to choose and install all of the higher level tools. Shipping with a configured desktop is perfectly fine but not required. Ideally, I can have all of this while still keeping the maintenance low. I think that means a stable OS, a good package manager, stable/automatic updates, etc.
Last bit. Open source is rather important to me. I prefer free and free.
Anyone have good suggestions??
Edit
I’m aware of tools like Distro Chooser. They’ve recommended Arch Linux and Endeavor OS to me so far. But I’m not ready to trust them yet. I’m looking for human input.
Edit 2: Hardware Info
I’m running on an ASUS ROG Strix GA15DK. It’s just over 2 years old. The hardware was shiny but not top-tier at the time. It’s not new at this point but also not old by Linux standards.
- AMD Ryzen 7 5800X Processor
- NVIDIA GeForce RTX 3070
- 16GB DDR4 3200 MHz RAM
Edit 3
It’s official. I installed EndeavourOS! I got it to work without any issues. Yup, first try. It definitely didn’t take me ~10 tries :D
Thanks for all the input all! Wonderful crowd here!!!
Debian! It sounds perfect for your use cases and requirements.
Nobara (which is Fedora but enhanced for gaming and streaming) or Debian/Debian testing or Mint
Debian 12 with your favorite DE, I use XFCE
Debian stable + flatpak for steam and discord
Not to mention arch on distrobox and nix
Seconding Debian. It just works out the box and is built like a tank. It’ll only break if you break it yourself
deleted by creator
it’s kinda annoying how sudo doesn’t work by default though
Fucking any of them. Seriously. It doesn’t really matter. Eventually you’ll come to the realization that until you’re talking about oddball shit designed for one douchebag’s personal proclivities it’s all the same shit under the hood. They just have fourteen incompatible package managers because, again, douchebag personal proclivities.
True, honestly, I have used a lot of Linux distros in the past 3 years and landed in Debian after realizing that many things done on others, can be done on anyone of them.
but just don’t choose Manjaro
already chose it a couple years ago… i will replace it with endeavour soner or later, maybe later because i’m lazy
When you install, whatever you install, partition your drive so that
/home
is it’s own partition. Then if/when you reinstall, distrohop, whatever, you don’t have to worry about copying over your data. Just use the same/home
partition, and format the others. You can actually use this to try multiple distros at the same time - you can install them in different partitions, but have every install use the same/home
partition. This is a nice way to test new distros without blowing away your stable install.Now, for my distro recommendation - Ubuntu gets a lot of hate, but honestly, after 15+ years of Linux, and having tried Mint, Fedora, Arch, Manjaro, and many others, I always end up back on Ubuntu. It’s easy, it’s stable, and it stays out of my way.
The defaults are good, but you can customize as much as you want, and they offer a minimal install (as of 23.10, it is the default) which comes with very few applications, so you can start clean and choose all the applications you want.
Unless you are excited to tinker, I’d really recommend starting simple. Personality, I just want the OS to facilitate my other activities, and I otherwise want to forget about it. Ubuntu is pretty good for that.
When you share your /home, won’t you have to be pretty mindful/retest stuff just to make sure there’s no compatibility issues?
You mean with config files stored in your home directory? Or something else?
Right, I’d have to check to make sure there’s no incompatibility among versions or installed programs wouldn’t I? idk maybe it’s not that complex
It’s possible to hit issues, especially if different distros are using different major versions of desktop environments or applications, but in practice, I don’t think it’s something that really needs to be worried about.
If you were to upgrade/fresh install, and copy your home folder over, you’d have the same experience - it’s not much safer than sharing the home partition, except that you’re (hopefully) doing that less. You could still easily go from distro A using version 2 of something, to distro B using version 3, and then decide you don’t like it and try to roll back to distro A. If in the process your config was upgraded in place (as opposed to a new, versioned config being made*), you could have problems rolling back.
With configs, you can usually just delete them (or, less destructively, rename them, in case you decide you want them back), and let the application make a new default one for you. With other files (e.g. databases), you might be in more trouble. But a good application will tell you before doing an upgrade like that, and give you a chance to backup the original before upgrading in place. When asked, it’s probably a good idea to take a backup (and not just for this distro hoping case).
*For any developers reading this, this is the correct way to upgrade a config. Don’t be destructive. Don’t upgrade in place. Make a copy, upgrade the copy, and include a version in the file name. You can always tell the user, so they can remove the file if they want, but let them make the choice. If you can’t (e.g. the database scenario, which could be large), tell the user before doing anything, so they can choose whether or not to backup.
Ooohhhh I like that idea for testing! Thanks for the tip and the recommendation!
I used to do this when on Windows too: C was for the OS and apps, D was for user data. The same principle here - separating OS from data is a game changer - and even easier on Linux I think. Makes it so easy to wipe a partition and try something new.
I’d recommend Fedora, but the suggestion of EndeavorOS is also good.
So its not really a distro, but what i do on my laptop is installed rocky 9 linux and use distrobox for installing applications. Rocky is Based on Rhel, its lts is good till 2039 and is super stable
You want Xerolinux. Ships with little, already configured and with beautiful looks, arch based.
Given your background it should come to no surprise that it doesn’t really matter much.
That said, I recommend Arch with some caveats, mainly with regards to the “very little effort to start using” requirement. If you know how to follow instructions, it should only be about 30-45 minutes to install it. It will on the other hand fit your other requirements of good defaults and not shipping with loads of applications. When you install an app you will get that app and nothing else, and the defaults will either be exactly what the upstream defaults would be if you built it yourself or something very close to that. You also have everything available through the AUR, and after using it for years I’ve yet to run into an update not going smoothly.
I recommend Linux Mint. It comes with good default settings but is configurable. The Cinnamon DE is exactly like that of Windows, so you don’t need a lot of effort to start using it. Mint comes with some pre-installed apps like Firefox and LibreOffice, but they may not be the latest versions, so you can purge them afterwards and reinstall through one of the package managers.
Speaking of which, Mint comes with APT and Flatpak as package managers, but Snap is disabled by default. You can enable it, if you want to.
Mint does not come with any gaming apps pre-installed, but Steam can be installed, and many games work on it, especially those that are verified to work on the Steam Deck. Lutris is another game app you can install, and that allows you access to other game platforms like Blizzard, but don’t assume that all games will work perfectly through Lutris.
arch is super stable ( for the most part ) at with the arch install script it’s easier than ever to install, endeavouros is a gui installer but leaves you with basically an arch system
ive been running arch on my desktop and laptop for years and the only issue I had was that fucked up grub change that somehow got thru
LMDE
Probably Arch.
I began with slackware linux late 1990s and have moved to FreeBSD about 10 years ago. Just recently installed Linux again and found pop! os to be quite usable. I think it’s worth to check out.
I can’t recommend enough EndeavourOS. It has a very good defaults and its softwares is very up-to-date since it’s based on Arch Linux. Their community is also very nice.
Of course you can try Arch Linux too, it’s minimalistic and you have to configure most thing yourself. It’s not really hard, but gonna take some time.
Fedora and Linux Mint is also a very good choice.