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.
NixOS
Easy and fearless updates
declarative configuration
Rollbacks
Dependency Hell, begone
Easy to mix and match package versions with different dependency versions
Easily build packages with custom compile flags
Makes me feel cool again 😎
Reproducible
Do it once, do it right. Save work be redeploying the same configuration (or submodules) on mutiple machines or the same machine multiple times.
You get it for the low price of loosing all fun/motivation in setting up, customizing and mintaining machines with other distros
A cool logo, meaningful rolling release version names and stickers
Many different and interesting community projects
As stable as you need it to be
A great selection and amount of packages and modules to build/install/enable
Single command to compile & install packages from many git repos
Can turn basically any distro into nixos in minutes
immutability
Ez dev shells
Home Manager + Stylix
Very good with containers and VMs
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!
Overlays
Fedora
Only FOSS software and repositories unless otherwise enabled
Uses the latest tech in linux e.g wayland and pipewire.
Cutting edge application releases so I get the newest toys after they’ve been decently tested
Applies patches for better programs work under Wayland (SDDM with git patches before long awaited 0.20.0 release).
Stable
Mint. Easy to setup, fast to run, and very reliable.
Mint
Generally works in cases where Ubuntu would and you don’t have to deal with Canonical’s choices.
Yeah, but I rarely if ever leave those constraints, so it does not matter to me at all. Day to day, I use macOS anyway, and Mint only comes on my desktop PC.
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.
Gentoo Linux
It has an option to use Open RC init system instead of systemd. Systemd probably isn’t as annoying anymore but I can’t be arsed to make the switch.
It allows me to run any weird combination of applications I feel I need on a given day, (fairly) easily integrating basically all open source packages with a custom/local overlay and have those managed as part of the system just like everything else.
Being a source based distro, programs are compiled and optimized to your system configuration. Additionally you can add/remove features you dis/like using USE flags.
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
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.
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.
It’s rolling and reliable
Everything just works
YaST
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.
deleted by creator
.
Gentoo
Huge range of supported architectures
USE flags let you enable/disable parts of software that you normally have no control over. If you don’t use bluetooth, for example, you can choose not to build bluetooth components when installing software.
Lubuntu with lxqt desktop environment and i3 window manager.
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.
Gentoo
Excellent package and dependency management with a wide variety of up-to-date software
Control
There are dozens of us! And you can join us at !gentoo@lemm.ee if you haven’t yet!
I love it because it’s super configurable, lets you choose compiler optimizations (and through USE flags, features that you need in your packages - you don’t have to include everything).
My Linux knowledge has skyrocketed compared to before I used Gentoo. Which of course means it’s NOT the distro for people who want something that just works, but honestly, now that it’s working properly, I feel it’s actually pretty hard to break, and when it does break, I know how to fix it! Versus with Linux Mint a decade ago, if I broke it, I had no idea where to get started and just reinstalled it.
Of course, about half a year ago I decided to move from x11 and OpenRC to Wayland and systemd. And I use KDE. And have Nvidia graphics. Soooo it was a fun ride both relearning how my init system works, and also running into problems with Steam, etc.
I also try to keep my kernel in single digit megabytes, but occasionally I find something missing and have to recompile with more “bloat”. So right now I believe it’s around 11 MB, but I’ll see about improving it over my next vacation. Not that 11 MB takes long to load off a gen4 NVMe drive, but the ePeen needs to be stroked! Also no initial ramdisk, to save even more boot time.
I just reinstalled Gentoo and switched to a Systemd setup as well. I held off for as long as I could but it’s just so nice!
I’m using the binary kernel for now, but I’ll compile my own when I find the time. 11MB is nuts!
Great to hear! Though I will admit that it took me HOURS of reading the kernel config options I was disabling. But it was also very informative so it didn’t feel like a waste of time at all.
I usually run some commands while running the binary kernel that will disable every module not currently running in the config file, and then build the kernel from that.
I’m guessing you prefer building everything as a module if your kernel is that small?
Out-of-box security configurations supported by the organization (SELinux, hardening)
Encourages hardware-based optimization and kernel specialization
Yep, these are all true. Throw in overlays and the package availability is unbeatable.
Absolutely! I haven’t had any problems setting up dependencies for various projects and have only needed overlays a few times. Sometimes USE flags can be tricky but most things are pretty well documented
Manjaro
I don’t need to install anything manually because of how extensive the AUR is.
AUR is amazing
Nice default configuration. Good choice of gnome extensions and themes pre installed
Rolling release model.
more out of the box than what Arch comes with.
Debian
- Very stable
- Extremely customizable
Lightweight.
- Community run distro
- Compatible with more devices than many distros
I love debian because it’s always there for you.
The new release bookworm solves most hardware/software problems
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.
Arch, BTW
Great wiki
The AUR
pacman goes brrrr
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.