So we can clearly see the most popular distros and the reasons why people use them, please follow this format:
- Write the name of the Linux distro as a first-level comment.
- Reply to that comment with each reason you like the distro as a separate answer.
For example:
- Distro (first-level comment)
- Reason (one answer)
- Other reason (a different answer)
Please avoid duplicating options. This will help us better understand the most popular distros and the reasons why people use them.
Debian
- Community run distro
- Very stable, and can run the bleeding edge through Snap/Flatpack/Appimages, Distrobox, or VMs/Containers
I love debian because it’s always there for you.
- Compatible with more devices than many distros
Lightweight.
Low resource footprint — smaller than EndeavourOS on my laptop. Stability is fantastic. Bookworm practically just came out, so the packages are all much newer than they were in Bullseye, making it a viable option for someone who wants an uneventful Linux distro that fades into the background and lets you get stuff done.
The new release bookworm solves most hardware/software problems
- Extremely customizable
Arch, BTW
Great wiki
The AUR
I was distrohopping for like a year or two when I first got into Linux desktop. As soon as I installed Arch for the first time that stopped. Now the thought of a distro pre-installing packages gives me the heebie jeebies. You don’t get to tell me how I sync with NTP servers!
PKGBUILDs
pacman goes brrrr
I do real work. Dont have time to waste
Maybe don’t fiddle with your install non-stop then.
Isn’t that the reason to use arch? I remember last time I installed arch, about 5 years ago now I had to fiddle with everything just to get it working lol.
openSUSE Tumbleweed
The big advantage IMHO, is the out of the box BTRFS set up that lets you simply roll back to a non-broken state, right from the grub menu, should an update break your system. I haven’t had to use it yet, but it is a huge source of comfort knowing it is there.
Also, many people coming to opensuse remark how much snappier it is than other distros.
Garuda uses this feature on an Arch base, it’s saved me a couple of times. Props to openSUSE for developing the way to make that happen!
BTRFS has saved my life a bunch, I’m the kind that enjoys experimenting and changing stuff just to see what happens
I had to scroll waaaaay down to find this. Mindboggling how underrated this distro is!
It’s getting 3/4’s of the votes of Debian. I think their profile has increase a lot in the last year or so.
It’s rolling and reliable
Everything just works
Security by default. Firewall is set up blocking ports for UDP etc. so you are protected out of the box.
It’s incredibly well put together
It is up to date so you can often get newer hardware working due to newer kernels.
YaST
Manjaro. It just worked on any device I installed it on. And wifi just worked with no fiddling.
Then I installed it on surface tablet. What didn’t work, I found kernel fixes I could implement.
Of all the distros, for me, it was the easiest to use, install and manipulate!!
Manjaro is my main distro too! The package manager is great!
Manjaro friends unite!
Switched to Manjaro after running vanilla Arch for several years and haven’t looked back. I appreciate the slightly less bleeding edge updates and extra added stability around it.
Easy installs are probably less of a big deal nowadays after Arch overhauled their installation process.
Arch. I can’t live without the AUR at this point.
We cannot forget about the wiki, which is a great resource for not only the Arch distro, but for any Linux install.
Seriously, the ease of installing any and all programs from the main repo’s or the AUR is such an extreme advantage over all other distros!
And it makes keeping your system and programs updated a breeze.
Seriously, I realize this every time I have to install something on my server (running AlmaLinux). Now I’ve manually set up a personal LURE repo for some software that I use.
Fedora
Only FOSS software and repositories unless otherwise enabled
Stable
Cutting edge application releases so I get the newest toys after they’ve been decently tested
Uses the latest tech in linux e.g wayland and pipewire.
Applies patches for better programs work under Wayland (SDDM with git patches before long awaited 0.20.0 release).
I’ve been trying to convert to linux since the mid-2000’s. Ubuntu and derivatives, fedora, and SUSE. Gaming and my lack on knowledge always brought me back to Windows.
In 2018 I tried Manjaro and loved it. But I broke it without the knowledge to fix it multiple times. The Arch BTW memes were strong at the time so I took the plunge and studied the wiki, and documented my own installation process and really learned a lot in the process. Proton was released and suddenly gaming got WAY better. I didn’t remove my windows install completely until 2022 but Arch has been my home on my main machine.
I have since put together a proxmox cluster and run many distros for various things but that’s a whole other rabbit hole!
Slackware
- the most rock stable distro imo. No systemd or snap stuff. Packages are almost (if not fully) vanilla version from upstream. Simple yet efficient unix-style approach to everything like package management, slackbuilds are really good too.
Slackware gets a lot of hate, especially from the btw bros. People are spooked about having to manage their own dependencies. But I couldn’t agree with you more on simplicity and stability. I’ve been daily driving slackware since 99 or 00, and I don’t think I’ve ever broken something I couldn’t immediately roll back and fix.
I tried to install Ubuntu on a sbc recently. And within an hour of installing this and that with all the different dependencies, I had a completely unusable system. And I had no idea how to fix it. It was totally my fault but reminded me what I love about slackware.
Slack got me through undergrad on an IBM 600e ThinkPad (which was really old even then — around the time of the early 2.6 series kernels iirc). Great distro, fond memories.
EndeavourOS
Pop!_OS
I agree, it’s great!
- image with baked in nvidia drivers which work out of the box without too much fuss
- if you encounter problems, you can refer to the system76 website or use a solution provided by the community, since it’s based on Ubuntu
- installation with full disk encryption enabled by default
- right now it uses a slightly customized version of GNOME as DE (with “normal”/traditional windows and optionally a tiling wm), but system76 is working on a Rust-based DE, named Cosmic DE
I’ve been using Pop for about 2 years. I have yet to run into an issue that I couldn’t fix. It’s the first distro that made ditching windows easy.
I feel the same coming from Mac. Things seem to just work. I’m not a Linux wiz so minimal headaches while learning to tinker make it perfect for me.
Arch Linux
- Packages are kept up to date so it’s often the first distro to support new hardware, APIs, etc.
- AUR provides a huge library of software that isn’t often in package manager repos.
- Rolling release so you don’t have to deal with repository upgrades every 6 months to 2 years.
- btw
My favorite too. For me on other distros I was typically running into bugs that I’d find had already been fixed upstream months previously - and then I had to either live with the bug or do some hack to manually install the newer version. Somewhat related to this, but as Linux gamer it was also frustrating to have the older Mesa drivers all the time because it couldn’t support the older kernel version the distro shipped or something.
My current isn’t vanilla arch, but Endeavour OS, because as an unexperienced user I wanted to have the least trouble while installing, … I regret it ever since, because I began with a Plasma desktop and ended up with i3, mainly because of tiling, problems with some utilities, keyboard switching, etc. In the end, I still love the system, one can get quite minimal with it.
I love that you talked about regretting it. Using one of the arch-based diaries that obfuscates the installation process honestly destroys a lot of the benefit of using arch. Having to vaguely understand how the system fits together makes fixing issues a million times easier.
Yep. And I still forgot to mention one thing. It is a 2016 Macbook Pro, which basically means just more work fixing.
Debian
Perfect for running servers
Arch Linux
The Arch Wiki is in a language made by users for users. Meaning that its easy to understand because the wiki allows to talk about issues, alternatives and more hints about each small topic, every other wiki has some structure where important details are missing or not taken seriously.
Starting with a blank slate is so refreshing. It takes time to build everything up from scratch and I understand that you can get a great experience out of the box with other distros, but I love the simplicity of not having any bullshit I didn’t install myself.
True, yeah, didn’t think about the downside that you need to build it up from scratch. But people could use arch based distros I guess? Never used them.
Arch and KDE as a DE because I’m a borderline-obsessive tinkerer.
Although NixOS is tempting me, but I haven’t moved past the virtual-machine-specimen-jar phase with that yet lol.
I always am going to run into heavy issues when using Debian, Ubuntu or Fedora. On Arch, things also aren’t always smooth, but the issues are mild, always solvable and transparent.
Ubuntu
A lot of proprietary software is easier to install here
I can use the same OS on my servers
I love the dock
It’s easy to use
I love the stability of LTS
Shit just works
easy enough to use for me (I’m a linux newb) and I can setup steam on it!
edit: forgot to mention I can get hibernation working on Ubuntu when I couldn’t figure out how to do that in FedoraI don’t have time to fuck about, I use ubuntu mate because it gets out of my way and does what I expect it to do.
Because it just works. Because it’s based on free Debian and not corporate RedHat. Because mainstream Linux needs a flagship distro and that distro needs to be used and supported.
but Ubuntu is corporate, no?
For when I can’t get stuff to work on nixos 😅
NixOS
declarative configuration
Rollbacks
Reproducible
Ez dev shells
Easy and fearless updates
Dependency Hell, begone
Very good with containers and VMs
Home Manager + Stylix
Do it once, do it right. Save work be redeploying the same configuration (or submodules) on mutiple machines or the same machine multiple times.
Can turn basically any distro into nixos in minutes
I have been thinking to give NixOS a spin but feel like it’s above my brain capacity for me to handle. Do you also use homemanager and Flakes? Homemanager kinda makes sense (manage packages for non root users) but what does Flakes do?
I am already trying it and I am still no expert. How I understand flakes is that it is a file with inputs, like nixpkgs and other flakes or repos you might depend on and some outputs that can be things like a nixshell with packages and environment variables, custom packages and configs like your NixOS configurations and home manager. When you use your flake for the first time, by entering a nix shell with nix develop, building a package with nix build, rebuild your NixOS system with nixos-rebuild --flake .#<hostname>, etc, nix will generate a flake.lock file that stores the hashes of all of your inputs and thus pinning the input versions. This means that if you ever run any of those commands again, you should get the same result because the inputs are pinned and the same version. If you want to update, you just run nix flake update and it will regenerate the flake.lock file with new hashes for the newest version. The advantage with flakes is that it is fully reproducible, even if one of your dependencies changes, because the hash is specified and centrally managed in the inputs of your flake.
Nix flakes can be used for your NixOS system by adding the nixos configurations in the outputs of your nix flake and adding the dependencies like nixpkgs to the inputs. You can also combine it with home manager by either specifying it as a separate output or adding it as a nixos module inside the nixos configurations output. You just copy your existing nixos and home manager config to the folder with your flake and reference them inside the flake.nix. If you added home manager as a nixos module, you only need to run nixos-rebuild switch --flake <path-to-flake>.#<hostname> and it will automatically rebuild both your NixOS configuration and home manager configuration. You can then backup the folder with your flake and configurations by uploading them to GitHub for example.
The best resource I found was this 3 hour video by Matthias Benaets: https://youtube.com/watch?v=AGVXJ-TIv3Y&feature=share7
Thanks a lot for the detailed answer. It does sound complicated haha. I should probably follow along the YT video. Thanks again!