I use Mint. As a beginner the Windows-like feel is convenient for me but once I get the hang of it I could see myself trying something else
Linux
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
This is what I recommend for Linux newbs. And they can stay with it if they're happy with it. It's also a decently competent Linux distribution which is a hell of a bonus.
@Anolutheos @Lolors17 I use Mint Debian edition. I got fed up opening my laptop and having to update when MS said so, so switched to Ubuntu, then Mint, the LMDE and have stayed for 4 years. It's not exciting, cutting edge, etc but neither am I! It just works all the time. Updates are easy and everything is boringly reliable - I love it!
Hopefully LMDE6 is a game changer for the most popular first Linux distro. If the CosmicOS by System76 doesn't win that title.
My grandparents were 1,5 years with Mint but LMDE5 has now been for 10 months and it is awesome. Literally 0 issues since day 0 whereas Win7 and Win10 caused constant headaches for me over the phone.
OpenSUSE Tumbleweed. I like it for being a rolling release with quality control. On the one hand I don't like its restrictive defaults but on the other hand I know enough to work with them and that's given me a leaner system.
I like Tumbleweed because it's utterly boring and predictable while being rolling.
Debian as a server base OS is well-tested and (for me) ultra reliably stable.
I like that the NixOS packaging system feels like it's build for Free Software, making source code and Git repositories a first class citizen. You can simply drop a flake.nix into your repository and turn it into a Nix package within a couple of minutes, that's quite a bit different than the utter headache it is to package something for Debian. Nix packages being free of naming conflicts also makes it very easy to mix and match whatever versions you need, something that's basically impossible on most other distros unless you resort to containers or virtual machines. NixOS having the largest package collection of any distro is a plus too.
How different (if at all) does Nixos feel as a daily driver, if at all? Is it only about getting used to the system, or does it require to do everything the Nixos way?
Also how does user-level configuration work? Does the upgrade system just ignore your $HOME in terms of version control?
All OS configuration (i.e. your installed packages, services, /etc content) happens in NixOS via a single configuration file in /etc/nixos/configuration.nix
. When you do nixos-rebuild switch
that file gets read and the OS gets rebuild, which in practice means some downloading and changing some symlinks, so it's reasonably fast, kind of like GNU stow
. The partition table isn't touched here, that has to be setup manually on the first install like on every other distribution. NixOS will also not rollback the file system if you decide to boot into an older version, everything is done by symlinks and environment variables, so you don't have to worry about your $HOME disappearing or anything like that.
For daily use that means that you basically never edit anything manually in /etc
ever again, except for that one NixOS config file. You also can't since everything will be symlinks into a read-only /nix/store
. For permanent package installation you also need to edit the file and rebuild, you can't do imperative stuff like apt install ...
. However with NixOS you don't need to permanently install anything if you just want to try it, you can just do nix run nixpkgs#emacs
or nix shell ...
and it will run it without installing it (everything goes to the /nix/store/
cache and is garbage collected when no longer needed).
This can become a problem when you are dealing with third party packages that come as self extracting installer files that want to install themselves in /usr
or depend on programs being available as /usr/bin/python
or whatever, since on NixOS that whole hierachy is empty ( except for /usr/bin/env
and /bin/sh
). NixOS has buildFHSUserEnv
to work around that and provide apps with a normal looking Linux filesystem, but that requires a bit more effort than the usual curl http://.../install.sh | sh
hack.
By default $HOME
isn't touched at all and will behave largely like on any other distribution. You can however install packages as user via nix profile install
(which behave much the same as apt
would, but is local to your $HOME). The other popular alternative is home-manager, this provides basically the same what /etc/nixos/configuration.nix
does, but for your $HOME, so you can start systemd services, generate your bash profile with it or install apps locally in your $HOME. Home-manager has to be enabled manually and is probably best ignored until you are familiar with the rest of the system. Home-manager is also less all-or-nothing than NixOS itself, so you can freely chose which dotfiles you want to manage manually and which you want to generate via home-manager.
As for nitpicks when it comes to daily use: Due to everything in NixOS being fully reproducible, NixOS makes little to no use of binary compatibility, meaning if libfoo
changes, everything that depends on it has to change too. This requires a bit more downloading than other distributions. After an upgrade, NixOS will also keep two copies of everything around until you garbage collect them. This allows you to just go back to an older version via the boot manager. But it also means that you might need two or three times as much storage as on other distributions, at least until you garbage collect. But generally that's a worthy trade-off unless you are on an extremely resource constrained system (anything >=32GB storage should be fine).
Finally, if in doubt, install the Nix package manager on whatever distribution you are using right now. You don't have to go the full NixOS at once, you can install Nix packages on any Linux distribution and play around with it, similar to flatpak.
Thanks for this write up.
- Largest repos of any distro, so package availability is good (also supports Flatpak).
- All package installation and configuration is handled via config files, so it's easy to keep track of what's installed. Also makes re-installation convenient and easy (this is also great if you're fond of unixporn-style setups).
- Because it uses config files to manage this, you can also take advantage of VCS.
- Instead of having to work with several shitty DSLs to configure your system, now you only have to use one!
- Being able to install multiple versions of the same library is nice. With Nix you can just install whatever the fuck you want, really. Want to use DisplayCAL, but can't because it was dropped from the current release's repository for still depending on python 2? No problem, just have your flake pull it from a previous release when it was still in the repos; it'll just work because builds are done in isolation.
- The generation system makes updates fearless, since if something breaks you just rollback.
- Development is both better and more annoying. There's no FHS, so you have to set up a dev environment with a flake every time you want to do a project. This is nice because you don't miss dependencies as everything has to be explicitly laid out in the flake and other Nix/NixOS users can share your flake and get the same exact dev environment (kiss "it works on my machine" excuses goodbye). Annoying both because you're required to put in more forward planning with your dev environment and also because it breaks language-specific package managers, so you're limited to supported languages.
- You can't just git clone/make/install stuff from GitHub, as there needs to be a flake first. If the software already has one included, great! If it doesn't, you'll be making it. If you need a dependency that currently isn't packaged for Nix, you'll be making more than one. If the software is difficult to package, god help you.
- Nix documentation can be really lackluster and also assumes you're Linux-savvy.
Also how does user-level configuration work?
You use a 3rd party tool called home-manager for this. It provides about the same experience as the system config and has more configuration options for software, so should be preferred when it makes sense.
Overall, it's great if you're Linux-savvy and is one of the few distros that is legitimately innovative. Said innovation can also be a pain in the ass on occasion though, but still worth it.
Can I use a file in the same place as the nix config to set the configs for i3 for example? Or anything else that would go in ~/.config? It would be amazing to have all the configuration files in one single folder to easily move to new hardware.
Yes, that's what home-manager is for, your configuration goes into ~/.config/home-manager/
and from that you can generate all the other configuration files that go into your $HOME
(either by just copying a read-only version of the raw file or by generating it on the fly from the nix configuration file when a home-manager module is provided)
I use Arch. I use the command-line to update, I am very glad that I can do the updates when I do want them. Of course, going over the update list is my responsibility, but such is the power my OS grants me—I can make or break things.
Otherwise, yeah, it's the customization it offers me. I can make it as janky as I want it to be, or rice it to my heart's content.
I use arch too. Mainly because of rolling releases. I love the install once last forever philosophy. i also like that arch ships vanilla upstream packages, quickly.
That said arch makes very few choices for you. It aends you to the excellent wiki to make your own choice. So the first install may take a bit of time if you're new.
To be fair, the fact that Arch makes very few choices for us users is one reason, perhaps the biggest reason, I was hesitant jumping in at the start. A well-meaning friend pushed me off the ledge of hesitation and into the thick of things. Did I feel nervous? Hell yes! But was it worth the frayed nerves? I guess it is.
So many nice things about Arch. I got into Linux with Ubuntu, switched to Debian for many years, and now use Arch.
Why Arch?
- AUR provides a huge library of software that natively integrates into your system, including git versions of major components like kernel/mesa so you can test the latest features.
- Rolling release means it's always up-to-date and you don't have to worry about version-hopping to the next version every release cycle.
- Follows upstream projects closely
I installed all my Arch installations with the Calam Arch installer ISO. The one big complaint I see with Arch is the complicated install process, but with Calam installer it's no different than most other distros.
I came to Arch for the customisation, I stayed for the AUR
Mint is up to date but less buggy than Ubuntu, and it has served me well for years without problems. The UI is very conventional so I don't spend time thinking about where stuff is. It supports multiple packaging systems now, so it's easy to find and install software. You don't have to go to anywhere as dodgy as the Arch User Repository to find what you need. Mint is not too conservative, not too cutting edge either, and not restrictive due to ideology. It's boring and it works and I can just get on with stuff.
I use Arch because it's so customizable and there's so much more freedom. Once I installed Arch I realized I'd never go back to Ubuntu. I'm so used to using the command line all the time now it feels weird and annoying when I have to use something with a GUI desktop environment (I use i3.) People always tell me when they see my system in public (it's a ThinkPad) it looks clunky, but even the inability to set custom time/date settings in KDE was mildly annoying to me.
I sincerely think CLIs and TUIs are no harder than "user-friendly" GUIs but they're just too far from the average modern person's experience for this to be acknowledged. Using nmtui to connect to WiFi is hardly more difficult than what Windows or macOS do.
I also really love pacman, the AUR, and the Arch Wiki.
Arch Linux because it has sane defaults, is rolling, up to date, helpful community, awesome wiki and is minimalistic.
That really depends on your definition of "sane defaults." Even a lot of the computer science professionals I work with wouldn't consider Arch Linux defaults as sane. I picture sane defaults to include a lot more basic functionality that Arch doesn't have out of box (automatic suspend, desktop environment, lock screen, etc.).
I use Arch for the exact same reason you do though. Once you get past the tedious stuff like setting up your networking stack, setting up idle suspend, etc. it's nice to choose whatever WM/DE you want and customize it how you want.
Sane defaults?
Yeah, it has almost no defaults, allowing you to tailor the installation to your needs.
When I used Debian, it was stable and I love it.
Now I use Alpine (Edge). I like it because I feel like I am learning more about troubleshooting issues but also because the packages are very up to date.
As a desktop Linux user who doesn't develop or code in any way, or work with servers, or containers, I found Alpine to be very accessible and the community has bren very patient with my different issues.
Despite how comfortable it is, I think I may end up going back to Debian or finally taking Fedora for a spin. Not for at least a year though.
EndevourOS. Easy to install and customizable/up to date as Arch can get.
I use Fedora. I like the combination of recent, stable, up-to-date software, new releases every six months, and firmware updates for my ThinkPad direct from Lenovo.
Running Endeavor OS. Painless installation, everything works outta the box, good community, no release/lts bullshit. If it breaks, just rollback.
I like that I don't even care about it. The main user of it is my wife, who is non-technical. It's the only computer she uses, for everything (browsing, shopping, banking, word processing, printing) for 20+ years, and if you ask her which distro it is, well, she doesn't know what "distro" means.
She doesn't "use Linux" because she wanted to "learn Linux" nor to "try this distro". She uses youtube, instagram, the bank site, amazon, libreoffice, etc. The closest she gets to the OS is accepting the package manager prompt to update.
I wish one day most people can answer your question with "I don't know, whatever came with my computer", because it'll mean all of them are as easy to use, as unobtrusive and as unimportant to the user as possible.
But to finally answer it, kubuntu, some ancient, still updatable LTS version (can't even recall when I last upgraded), because it was easier for my wife to adapt, coming from windows 95 when she started using it.
Gentoo. Great rolling release that is stable and had timely updates, but has the flexibility to configure my system down to the tiniest details, with a great and knowledgable community. I love source-based distros and Gentoo is definitely the best.
I tried Tumbleweed for a while but ended up going back to Fedora. Super polished while still fast moving.
Relatively fast updates, AUR, PKGBUILD, Downgrade, the Wiki, the community, not controlled by some corporate entity, no telemetry, and last but not least the logo ;)
Ubuntu MATE. I love its simplicity, and the fact that it's based on Debian.
Also, UbuntuForums and AskUbuntu are great places to find help.
Fedora, why I like it:
-
The community is strong with lots of knowledgeable users with patience to help others out.
-
The release cycle gets the balance just right between having predictable updates and the latest software. Fedora's testing process is very good, you rarely have problems.
-
Controversial one: strong financial backing from Red Hat means that Fedora is very unlikely to sell out or turn evil, at least not without a lot of notice.
Pacman sounds cool, wakka wakka.
pop os : 1. fast installation 2. nvidia works.
It has the most accessible package manager of em all. And ofc I'm talking about Arch Linux (bah teh wei.)
Arch: I like the knowledge and understanding that comes with regular usage. I've learned a lot about my system that I probably wouldn't have otherwise. Also the PKGBUILD system / AUR.
-
Nobara for my gaming rig, same as OP + lots of out of the box gaming fixes.
-
Tumbleweed for the laptop, rolling release while (in my experience) being a bit less likely to break than arch.
-
Ubuntu/Debian/MicroOS/Alma for servers depending on whether I want stability + some fresher software, mountain-like stability, automatically updating container hosts or if I need redhat compatibility.
-
Mint if its someone elses old computer they want to "just work", since I dislike being tech support more than necessary.
i use arch, it's amazing, everything i wanna do works other then games since i have some old cheap nvidia gpu which is hardware fault itself, i wanna do developer tasks just works, wanna do tweaks just works and it's fun to use. i tried using other Distros i just can't use debian based or arch based just bare bone arch with gnome or xfce depending on my mood. if i switch fedora is always my 2nd choice but not sure after some news released on red hat I didn't stick to fedora because of lack of package or something like that just package management things kept me in arch.
Void linux rolling release, xbps fast installing packages
Debian 12 have been rock solid for me. Use it for gaming with my Nvidia card and the driver installation have been painless and easy. Mainly been using it as a normal desktop using Gnome and gaming with Steam.
Was previously running Arch based distribution ArcoLinux, but was getting tired of the updating maintenance and config file conflicts.
Debian is just stable and a few updates a week. Flatpak fixes the old packages that repository have for those applications I just “need”.
I might as well ask here:
Im running arch on my Desktop. Mostly just to Experiment a bit, nothing to serious, Laptop is ubuntu, and both are dualboot with Windows for Gaming (nvdia gpu in both).
The Main reason to use arch was to play around with Windows Managers like hyprland. However I get the feeling that some stuff is simply missing and or configured wrong on the System.
Is it a better idea to start with something like endeavor with sway and start ricing from there?
For me it is Fedora as well. Before that I was using EndeavourOS but wanted to use something a bit more stable. Haven't distrohoped since!
Kubuntu 22.04. All my games run like butter without much tinkering. I learned most of my Linux stuff on Debian or Ubuntu in the early days and most of what I need comes in .deb form.
I've been distrohopping for the decade+ I've been using Linux. Keep coming back to Arch. Once I get the initial install done, everything works and I don't need to touch anything.
I like using Lubuntu because it's lightweight and feels pretty snappy on my 2009 laptop.
It's easier to install when using DualBoot.
EndeavourOS is just what I needed when I started to DualBoot with windows, besides being just easier to install, some games I play still require Windows, like most dx12 games since they're currently broken due to some driver error in the latest Nvidia drivers.
I love Arch and can't see myself using anything but it, but I don't have the patience to do a manual install every other week or so because I got bored or am to lazy to actually fix my system, especially while dualbooting.