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.
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!
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.
pacman goes brrrr
PKGBUILDs
Debian
- Very stable, and can run the bleeding edge through Snap/Flatpack/Appimages, Distrobox, or VMs/Containers
- Community run distro
I love debian because it’s always there for you.
- Compatible with more devices than many distros
- Extremely customizable
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.
Lightweight.
The new release bookworm solves most hardware/software problems
EndeavourOS
Easy to set up, very helpful community. If you liked Manjaro or think Manjaro is sketchy but like the idea of a slightly pre-configured arch, check it out.
This, basically Arch but quick to install with all the most important things installed and ready without being bloated.
It’s arch. It just happened to be the composition i had my previous arch setup as. Yay for AUR stuff, KDE Plasma for DE. Includes a couple of useful tools and makes for a very solid OS.
Anyone who has been in the Ubuntu sphere of things with Linux, should take a moment to try arch. EndeavourOS is perfect for these people.
Same. I’ve done the vanilla Arch thing and it’s alright, but the quality of life enhancements that come with EndeavourOS make it a great daily driver.
It’s the only distro I could get DaVinci Resolve Studio, Blackmagic Intensity Pro 4k, and my Radeon RX 6750 XT working with, consistently.
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!
Glad to hear someone else uses this awesome tool. I think unstable debian based Siduction uses that too.
BTRFS has saved my life a bunch, I’m the kind that enjoys experimenting and changing stuff just to see what happens
This blew my mind the first time I used it. It’s just amazing.
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 incredibly well put together
Security by default. Firewall is set up blocking ports for UDP etc. so you are protected out of the box.
YaST
It’s rolling and reliable
It is up to date so you can often get newer hardware working due to newer kernels.
Everything just works
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.
It is nice to install much normally harder to install crap, but there are so little trusted devs on there, that i rather not install something than getting it from a untrusted source.
It is nice to play around, but i also switched from Windows to have a more secure platform. I switched to flatpaks from official sources.
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.
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.
Fedora
Stable
Only FOSS software and repositories unless otherwise enabled
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).
NixOS
Easy and fearless updates
Rollbacks
declarative configuration
Dependency Hell, begone
Very good with containers and VMs
Home Manager + Stylix
Can turn basically any distro into nixos in minutes
Ez dev shells
Reproducible
Single command to compile & install packages from many git repos
You get it for the low price of loosing all fun/motivation in setting up, customizing and mintaining machines with other distros
Many different and interesting community projects
Easily build packages with custom compile flags
Makes me feel cool again 😎
Do it once, do it right. Save work be redeploying the same configuration (or submodules) on mutiple machines or the same machine multiple times.
Easy to mix and match package versions with different dependency versions
A great selection and amount of packages and modules to build/install/enable
I have been thinking to give NixOS a spin but feels 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!
As stable as you need it to be
A cool logo, meaningful rolling release version names and stickers
immutability
Overlays
Ubuntu
A lot of proprietary software is easier to install here
Shit just works
I 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.
I can use the same OS on my servers
I love the stability of LTS
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 FedoraAre you playing steam games that have Linux versions? Or is the “comparability mode” stable and fast enough that you don’t really have to think about it?
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 😅
I love the dock
It’s easy to use
Garuda Linux
Besides Wiki and AUR that all Arch derivatives share, they have their own wiki that documents the changes they’re made to Arch and a very good forum for help
Fish shell by default with auto-complete previews as you type and lots of great aliases
You can get pretty much everything Fish Shell does with a well configured Zshell pus more. Fish also smells.
And you can get pretty much everything garuda with a well configured Arch plus more but that would take ages to do
That why i like garuda, its roughly where id want my arch settup without the hassle.
Post install wizard for easily adding common applications
Bootable Snapper snapshots enabled by default
This really is my favorite Garuda feature - it’s saved my install more than once so that I can roll back a messy update, figure out what broke and why it broke, and then make sure the next update works
Nvidia driver installation options that correctly set the mode setting, dkms drivers installed ootb, common apps like GreenWithEnvy ootb, great Nvidia support
A lot of people think it’s just Arch with an installer and lots of bloat and a neon theme but it’s a lot more than that.
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.
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.
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.
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.
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.
Nixos. For all its complexity and dilemmas and issues it has given me, it’s the comfiest for me and gives me really cool features
It still blows my mind that with nixos, setting up and continuously renewing an ssl cert is literally just two lines in the config file. I use nixos on my homeserver, thinking about switching my laptop to it too (currently Void linux).
@amanwithausername got an older laptop celeron processor running xubuntu? Any better ideas?
Hmmm never used xubuntu per se, but XFCE already seems like a good option for a low-spec computer. You could probably chip away at the resource usage some more by building your own desktop environment around a bare window manager, but honestly at this point the gain is negligible. If anything, you might want to look into tiling window managers just because they can offer a much more fluid and customizeable desktop experience as opposed to floating WMs. I’m using BSPWM right now, but considering switching to wayland with hyprland or qtile.
As for choice of distro: Not sure if NixOS would run well on your machine – my homeserver is also a pretty low-spec computer (dual-core Intel Atom), and
nixos-rebuild switch
takes ages to run. Otherwise, go for Debian Testing if you want stability, Void if you want to not have systemd. There’s also Devuan, which is basically Debian without systemd, but iirc it’s not as popular as Void. But honestly if xubuntu works for you, then it’s fine.Also, some miscellaneous tweaks for improved performance:
- IF YOU BOOT FROM A HARD DRIVE REPLACE IT WITH AN SSD! Solid-state drives are pretty cheap nowadays, and the upgrade from hdd to sdd is the single biggest performance improvement you can do for an old laptop
- If on x11, disable compositing. On XFCE, there should be an option for it somewhere in the settings. If on a bare window manager, simply don’t install any compositing manager (picom, xcompmgr, etc.). The downside is screen tearing and no proper window transparency, but it does put less strain on the CPU.
- Consider looking into a custom linux kernel? I boot linux-tkg on my main laptop and it gives some pretty good performance improvements. But I’m not so sure whether it would translate well to a low-spec system.
- Again, not exactly a performance tip, but consider formatting your boot partition as btrfs. Apart from all of the other cool features that you get with BTRFS, transparent file compression can, in some cases, be a win-win-win situation: less disk usage, faster file access, and longer SSD longevity. On low end system tho it may actually be the case that the CPU is the bottleneck as opposed to the disk, so transparent file compression may actually slow things down. Here are the settings I use for btrfs on my laptop (thinkpad with a core i7-5600U, mSATA solid state drive):
lazytime,noatime,autodefrag,compress=zstd:3,discard=async,space_cache=v2,ssd
. Again, not sure how well these translate to a low-end system, you should do your research. - If your system supports uefi, consider using EFISTUB as opposed to Grub. Much faster boot times. Another option is to add two efi entries: one for EFISTUB (and have that be the default), and a second one for Grub, for when you need to change boot options or boot into recovery mode.
Since you mentioned slow build times…
You can do
nixos-rebuild --target-host
to build locally and deploy over ssh. You can also use something likenixops
.No way, that’s awesome! I’ll give it a try for sure!
@amanwithausername comprehensive and good advice. Thank you. I tuck a look at linux, because other laptop isn’t win11 compatible “soon”.
Congrats for making it to the treasure! I’m like half way in and not sure if I can fight through…
just keep on going. i cant be happy on any other distro, so i have to use nixos
Debian
-Simple distro free of too much bloat without being too bare-bones
-Stable, but can also be changed to be a bit more updated if you want that instead-
Now now, saying Debian is free of too much bloat is going way too far, dude, even as as Debian enjoyer I cannot allow such statements to pass.
Haha fair, I guess that is a pretty objective statement. In my opinion, compared to some other distros and operating systems, it’s pretty bloat free, but I guess if you’re used to something else that is even more bloat free that you would probably disagree.