Skip Navigation

Help me choose a distro/stay on NixOS

Disclaimer: I know there's a lot of questions and posts like this but generally they're aimed at noobs. I consider myself an intermediate user, and I know generally distros don't matter much and you can have anything another distro has on any distro but I'm looking for something a little "specific" that better suits my need from the get-go, I guess we could say that yeah. Plus hey some discussion won't hurt Lemmy.

I come here to seek your advice oh Great Council of Linux. Please hear my cause:

The problem

Right now I use NixOS and I'm mostly happy with it, I like having everything declared on a config file I can audit to remove stuff I don't use anymore, I like the stability it provides and the rollback feature (I only sued it once but glad to have it), automatic updates that apply when I shut down my PC (I do that often) and won't bork everything, and I like that it generally has very up to date software even on its stable branch. I also like the possibility of using nix-shell to test a program and remove it immediately afterwards even if it leads to a messy .config folder sometimes.

However, there are some pain points especially when it comes to customization. Now, the system itself is very usable and have little complains there, it's very rare that a package I want isn't in the repo, and when everything works it's great, but when it doesn't work it's very frustrating (mainly due to the lack of documentation and troubleshooting via the unofficial discord can be a pain). Namely on my laptop I have issues with the cursor sometime going from the catppuccin theme (on plasma 5, laptop is 23.11) to default on some context menus on X11 or only shows the theme in windows if using wayland (tho I can wait to see if it's fixed on 24.05). I never had this on my desktop gaming PC (which used 23.11 but now switched it to unstable to have plasma 6) but I have other problems there, for example the catppuccin SDDM corners theme doesn't apply anymore for some reason. Now I'm someone who likes to customize the looks of my desktop and I want to have consistency in my theming as much as possible so these issues are very annoying to me. On top of that to resolve the latter the official git repo of the package says to use flakes, now I know many fans of NixOS will swear flakes are cool and all but I absolutely hate them: I find them confusing, I don't like having to deal with more stuff than just my config file and home-manager and I want to have nothing to do with them I just want to use the official packages.

Now I'm sure most of these issues aren't exactly NixOS's fault and maybe in 24.05 they'll all be fixed but I'm getting very annoyed both by these problems and I found it hard to solve other problems in the past as well, and I hate that searching stuff up on ecosia, the wiki, etc doesn't work most of the time due to how different NixOS is and while the (unoffical) discord is generally useful sometimes it cannot provide the help I need, plus most of the stuff I learn troubleshooting NixOS is specific to NixOS and doesn't translate to other linux distros. So that's why on one side I'm considering that maybe it's not worth waiting till the end of the month to see if 24.05 fixes my issues (I don't plan on staying on unstable after the release of 24.05 that's certain) or if I should stick with it instead of wasting a day reconfiguring everything (granted home-manager is cool af but a lot of stuff I use don't use it so it's a one-time pain).

What I look for

Generally in a distro I look for something minimal, easily customizable and where I can use the terminal a lot for installing software and stuff (I just like the progression bars and seeing all the text go weeee accross the screen it's so cool) tho I'm fine using some GUI stuff like the KDE settings for other stuff where the alternative is a very complex set of config files (I generally prefer keeping wonky GUIs to a minimum though so I'm fine with some config files).

More specifically, I require a distro to have out of the box:

  • Plasma 6: I am moving to wayland, I love KDE Plasma for its customization and a lot of the stuff I made myself uses Qt. Maybe one day I'll try Cosmic but rn I just like plasma 6.
  • Easy to theme and configure: particularly with catppuccin
  • Proton VPN: the official apps, doesn't matter if the distro is officially supported or not by Proton
  • Steam, discord, gaming stuff & proprietary stuff directly on the repo: or at least easily enabled during the installation, without jumping through hoops
  • Rollback feature: be it what NixOS has, snapshots or whatever that btrfs thing is, it's ok if I have to set it up myself if needs be, I need to learn how, but I prefer if it's there out of the box
  • Big repo

What I'd like to have but isn't a must have:

  • Minimal amount of pre-installed packages: I want to choose myself what goes on my system and don't want to uninstall lots of things
  • Being able to leave it untouched for months without risking to brick it when I update
  • Decent information and help available: if I'm leaving NixOS I'd rather not deal with poor documentation
  • Immutability: I generally like the stability this provides, the atomicity of the updates, etc etc just as long as it doesn't make theming stuff like KDE (with plugins), Grub, SDDM, etc painful.

As for what I don't like:

  • Flatpaks: I prefer using system packages in general, plus I don't like their terminal commands and I hear they're not exactly good at following system themes. I guess I could live with them if I have to with flatseal and maybe a better terminal way to install them though.
  • Snaps: I hate snaps and in my experience worked terribly, like steam not being able to detect game libraries on other hard drives etc, graphical bugs, plus their backend is proprietary and handled by canonical, see following point.
  • Corporations: I don't want my OS to be handled by a corporation, I don't trust them so I'd rather minimize their control over the OS.
  • Custom theming: this isn't too important since I'll customize the theme myself regardless, I just generally try to stick to a distro's theme if there's one cause why not. I'm only putting this here to signal I prefer something unthemed (but possibly with a cool logo)

What am I considering?

Right now I'm considering the following options:

  • Stay with NixOS: Wait for 24.05 see if that fixes my issues etc
  • Bazzite + Aurora: Both are Fedora uBlue spins with KDE. I'm planning on putting Bazzite on my gaming PC since everything is already set up for that and Aurora (KDE spin of Bluefin) on my laptop (I use it for gaming on occasion but it's more for other stuff). They look cool but I'm not too familiar with them, the gripes I have, or think I will have, are flatpaks, some pre-installed stuff like vscode (I use neovim) and also that it's a spin of Fedora, which IMO is a bit too close to Red Hat but I can live with this given these two are different from fedora and further away from RH. Also, can I use ujust to install/uninstall things? What does it do?
  • OpenSUSE: I hear good things about Tumbleweed, I also know they have an immutable version but I know very little about it. I tried it in a VM for a few minutes to check out YaST and I was positively impressed but it comes with a lot of pre-installed stuff like a graphical package manager (yes I know there's zypper and that it's slow, I don't mind too much if it works and isn't too bad) and I heard it has something similar to the AUR which I'll need to check out as I saw the normal tumbleweed repos missed some packages I like.
  • Arch: I used Arch (btw) for a long time and generally liked it, I didn't have many issues with it and when I did it was usually my fault (tbf that's often the same on NixOS) and I generally could fix them easily (only once did my system break after the power went out during an update requiring a reinstall), the thing I don't like is having to update it weekly manually (I don't trust automatic updates on non-immutable distros much) and this is fine generally but it's a problem for my gaming PC because I have to move away from the house it's in for months on end and telling people to turn it on weekly so I can ssh and update it remotely into it is bothersome. Also, while I like seeing the little pacmans eat the dots, after using NixOS I learned to appreciate updates that don't require me to rtfm, that I don't have to care about too much and don't risk borking something in my system even if it's a small thing. Plus I figured I could try something else knowing that worst case scenario I can always go back to the trusty old Arch. Maybe I could try Arco instead of Vanilla Arch in this case.

I'm open to suggestions for other options though, there's trillions of distros.

What am I excluding

  • Debian & co: nothing against Debian, but I used it once and found it very frustrating to use, the packages are fairly outdated (and I don't see that as more stable than say NixOS with the rollback and everything), I had to manually install every proprietary thing, add repos here and there, etc and overall I didn't like it. Also I don't think it has plasma 6 yet. I don't see much point in using any of its derivatives either.
  • Gentoo: I don't want to compile everything
  • Fedora itself: too close to RH, its derivates I can tolerate but I'd prefer to avoid Fedora and RH stuff if possible

That is all that comes to my mind right now. Thanks in advance.

34
34 comments
  • Excluding Fedora because it's "too close to RH" doesn't make any sense at all. Fedora is not controlled by Red Hat, and Red Hat has no interest in a consumer desktop platform that they can't sell. Fedora's development is managed by FESCo, a community elected board that represents the interests of the community. They are kept intentionally separate from Red Hat's development, and don't tailor their development to Red Hat's wants or needs (in fact they often do the opposite, as Fedora pushes for change in the way things are done, not stability, as can be seen by the exclusion of X11 from Fedora 40, for example). That stands in direct contradiction with RHEL's goals. The features that are pushed by Red Hat developers would not be approved if they stood against the wants of the community, so anything Red Hat does contribute benefits the community as well. Red Hat's entire business is in enterprise solutions, as their business model relies on them selling support for their software. There is exactly $0 in potential revenue from Red Hat trying to take over Fedora, it just doesn't make sense. They can't sell anything, and since Red Hat doesn't employ all of the thousands of active contributors, such a takeover would simply result in a new fork. In fact, it would be against their interests, as Red Hat actively benefits from the developments of the community. Taking over control of the project would lose them all of the constant volunteer work put in by the community, which costs far less for them to sponsor than it would to employ a team a fraction of the size on salary. I've discussed this topic at length many times before, so I'll just link to a few comments that explain the situation in more detail (including how the project is funded, managed, and separated from Red Hat).

    https://lemmy.world/comment/7490965

    https://lemmy.world/comment/7494803

    The best fit for your criteria is Fedora. If you want uBlue spins, you're still getting Fedora, just a more opinionated version. All of the major development of uBlue's images comes from Fedora though, as they don't maintain their own distro, they just repackage Fedora.

    • You bring on some interesting points and I will definitely read your comments. Thank you.

      • There's a question that I feel I don't adequately answer in my previous comments, but I feel as if I should address.

        Does Red Hat implement their own features in Fedora, and what does that mean for the community?

        The short answer is yes, there are Red Hat developers who do work on Fedora. Just as Canonical developers contribute to Debian, Red Hat contributes to Fedora. There is a very important distinction between the development of Fedora and RHEL though, and it's the same reason no one is up in arms about Canonical contributing to Debian. The changes that Red Hat makes to Fedora still have to be approved by FESCo, so they still have to represent the interests of the community. Red Hat can feel free to pay as much as they like into the development of features, but if those features would contradict the values of the Fedora Project or go against the wishes of the community, they wouldn't be approved in the first place. Red Hat sees Fedora as a very valuable resource that they can use to test features before they arrive in RHEL. Unlike Canonical, however, they don't push proprietary solutions, tracking, or pro subscriptions into a consumer desktop platform. Those changes would not be representative of the wants of the community, and would not be approved by FESCo (hence the benefit of a community elected board).

        There's a related follow-up, as well:

        Are there Red Hat developers in FESCo? What does that mean for Fedora?

        Yes, there are a few Red Hat developers in FESCo, you can view their bios on the Fedora Project website. They were not placed there by Red Hat, however. These are still people that were elected by the community, who would not be there unless users (and other developers) trusted them to make decisions in the interest of the community. You can nominate and vote in the elections as part of the community if you wish.

        The biggest factor that I often see glossed over (and perhaps the most important reason Fedora has independence) is that Red Hat doesn't have any reason to even attempt to corrupt it. Fedora users are not an audience they stand to make money from, and if Red Hat believed there was money to be had in the consumer desktop platform, they would already be selling a product. There is mutual benefit between Red Hat and the Fedora Project, and that gets passed onto the community. Red Hat benefits from the contributions of the community, while simultaneously being able to test new features in an audience that they aren't interested in selling to, and the Fedora Project gets money and active development back from Red Hat as a result.

        Now I'd also like to clarify, because I could understand confusion as to what I meant when I said Red Hat doesn't control the Fedora Project. Red Hat is allowed to make contributions to Fedora, so long as they meet the same approval criteria as any other merge request from any other person/entity. Red Hat, however, is not able to control how money is spent, or where the priorities of community developers are focused (the direction of the project). So they are free to make contributions to Fedora that benefit everyone (so long as their changes are approved), but not free to test RHEL specific features that don't have a place in Fedora, for example. In fact, since Red Hat wants to keep their source code away from anyone that doesn't pay them a subscription, they actually have a vested interest in keeping those RHEL specific features separate from Fedora, as to not make them easily accessible to potential competitors. This is how they're addressing the competition posed by Rocky/Alma/Oracle Linux.

  • Stick with NixOS. A declarative config will save your ass down the line if it hasn’t already. If you have any interest in programming or IT in the future, the skills you learned will prove invaluable & once you get the hang of it, making modifications & patches will start to feel a lot safer as you can keep pulling updates while your patches still apply. Nix is still going to be one of your better options if you want to avoid the snap/flakpak space (I do not blame you). As for corporate control, something will either fix the Nix foundation from the core or a community-controlled fork will usurp it with probably almost no changes for an existing Nix install just like these things have always sorted themselves out with time (or join the Lix or Aux spheres if you want to actively fix the situation now instead of waiting if it really bothers you).

    If you need help, ask in the official Matrix room or Discourse—I can only imagine the spam & bad takes from those residing in a proprietary, data-siphoning Discord chatroom.

    • I don't intend to be a developer. I do code a few things sometimes but that's not the life path I'm oriented towards. That said you bring some good points. I am starting to believe NixOS may not be suitable for my uses sometimes, tho I did fix the SDDM issue, even though it involved changing my configuration in a way I didn't find intuitive. I'm still evaluating what to do. Maybe is 24.05 proves to fix my issues and stays out of my way I'll stay.

      I should try matrix tbf yeah, just didn't like having to use yet another platform that's why I went to what I already have to use.

  • Go with Arch with btrfs.

    You can delay your updates as long as you need, but make sure to update your arch.keyring first. And never partially update, cause things can go crazy really fast if you partially update.

    Also, Arch meet all your criteria. I see no reason to not use it.


    You know you can install the Nix Package Manager on any distro and have all Nix repo in your hand, right?

    • I do know about the possibility of having nix everywhere, but I frankly don't want to use it if I'm not on NixOS. A lot of the problems I have with NixOS are also in part due to how the packages work.

      As for Arch that's a good recommendation, I'll consider it for sure

  • You could try VanillaOS or BlendOS. Both immutable and allows you to install whatever package you want from any distro.

    Don't know much else.

    • I heard of them. Vanilla AFAIK uses GNOME, that's a major deal-breaker for me. Originally I was considering BlendOS in the past before switching to NixOS at some point, I don't remember exactly why I ended up deciding against BlendOS tho

  • I was on nixos for 2 years and i had short comings. So last weekend installed opensuse tumbleweed And its been pretty good

  • I'm pretty sure you don't need to update Arch that often?

  • its probably easier to debug the issues you currently have, than dealing with the suckness of imparative package management

  • I have left arch installs un-updated for months and had them be fine. I did leave one for a year once and the update hosed it, but it was still recoverable and runs fine to this day.

    so, I wouldn't worry much about the "update every week" thing. even on my daily driver I forget for a month sometimes.

    • yes but I've also known of the opposite, and I had breakages happen regardless. Leaving it unattended for months is one thing, I'd prefer something a bit more stable if possible. Nonetheless I will consider it

  • unofficial Discord

    Join the support room on Matrix, really helpful people in there. (And it’s official and not Discord)

  • the thing I don’t like [about Arch] is having to update it weekly manually

    You really, really don't. You can update Arch twice a year if you want.
    You only have to read all the news items between your last update and now, and follow what they say about manual intervention. And there's a couple more steps than just pacman -Syu (like updating your mirrorlist, and cleaning up .pacsave and .pacnew files)

    But your "requirements", taken together are spread over a lot of distros. There's none that fits them all, and it sounds like you read a lot of stuff on the internet which sounded cool to you.

    Also, you exclude the best-fitting one, Fedora, cause it's too close to Red Hat, whatever that means. It's a free (in both senses) and community-maintained distro.
    I don't even understand how that would impact you in any way, it's not like they put in ads or trackers or you give them money.

    My advice is to take a step back: Ask yourself "Which tasks do I actually want to be able to do with my computer"?
    My guess is, all of the established distros can fit your use case.

    And if your actual wish is to have an interesting toy, just install multiple different distros in VMs.

    • Yeah the thing is I'm not the most rtfm or read the patch notes type guy. When I used Arch I just went balls-to-the-wall yolo but updated weekly. Updating less frequently seems like more of an hassle.

      I don't trust corporations in general, mainly I don't want Red Hat (or any other corpo) to suddenly destroy my distro or do something I don't agree with. I still remember the whole debacle some months ago. If it wasn't for that I'd definitely give Fedora a shot but the fact they're sponsored by RH (and their upstream) makes me question how independent they are from RH and how at risk they are from being taken over by RH.

      As for use-case I think any distro can in some way fulfill my computing necessities and has most if not all the programs I need available in some way afaik, it's mostly a matter of technicalities and other stuff that is fairly important to me personally but maybe not too relevant for most

  • Slackware current on btrfs for snapshots. Slackbuilds make the text go weeeeee, but the scripts will compile and build the package for you.

    Plasma 6 hasn't come over officially yet, but the main guy who put plasma together has a testing version out.

    You could probably get the official proton app running, but I'm good with protonvpn-cli.

    It's been led by the same one dude since the early 90s. There's nothing close to corporate about it. And there are great communities on IRC and matrix full of knowledgeable folks. And there's linuxquestions.org too.

    • I heard of Slackware, it never really convinced me personally but it seems cool and is the oldest one.

  • Have you looked at Guix? I love it because it uses Scheme instead of Nix as its language, but I realize not everyone likes Lisp as much as I do. Also, I found the documentation easier to follow. Since it is a GNU project, you will need to install a third party channel (repo) if you need proprietary drivers/firmware. If you do, check out SystemCrafters' install image, which has firmware on the image so you can at least boot it.

    • I heard of it, I don't think it's for me I don't wanna have to deal with drivers and firmware stuff. I know nothing about lisp

  • While the normal Debian has outdated packages as you said, I'm using Debian-testing (rolling release), and it works great for me. It has newer packages, and it's surprisingly stable. In my experience, more stable than Arch, and it has a larger repo than Tumbleweed.

    • my issues with debian are beyond just the outdated packages, I know of debian testing and sid I just don't like some approaches debian has which are not for me. nothign against Debian tho it's just not for me

  • I'd go Arch, I think it answers on most of your points.

    OFC like on every rolling releases you'll might risk having problems after not updating too long.

You've viewed 34 comments.