TLDR: is the amount of time used to switch to these distros worth it? (compared to Debian, Fedora, etc.), or is there a better distro that fits my use case?

I have been using Linux for about 4 years now as my daily driver, distro hopping a lot. I have used PopOS (for a few years), Manjaro, Garuda (for a year or so), KDE Neon, Debian, Linux Mint, Nobara (for some months until I ran into system breaking issues), and lastly EndeavourOS.

Issues I have run into in the past are around the different packaging systems and versioning. The Debian/Fedora based ones seem to be fairly slow to update and so they have out of date packages, which sometimes is ok, but sometimes if they are too out of date I have to compile it from scratch. Also the different packaging systems (like apt, pacman, dnf…) means that depending on what flavor I am currently running there may not be a analogous system or maybe a package will be missing and I end up (once again) having to build it from scratch. On the other side I have Arch Linux based ones, which usually works great (especially having access to the AUR) but I end up spending a lot of time configuring stuff that isn’t built in (which is by design I know), or having stuff randomly be broken after an update. (which I suppose is my own fault I should have probably set up btrfs or something). Also some libraries will build/work great out of the box on some distros and be completely unusable on others for no apparent reason.

I looked into Gentoo, NixOS, and Guix SD as possible solutions for my issues. Gentoo because since it seems like I have to compile a lot of my libraries anyways maybe I should use a system where you have to compile everything. NixOS and Guix since it seems they are designed for package management and versioning built into the system which might be exactly what I am looking for.

I am worried about the learning curve of all of these. I don’t have a lot of time to mess around with configuring stuff all the time. Ideally I’m looking for a distro that works well with my old-ish hardware (with NVIDIA support unfortunately) where I can sit down, program and/or play games on steam+proton; but it seems like I have to choose between “system is stable but packages are old” and "system and libraries are new but is very unstable. Or if I am using snaps or flatpak its “install 5 things and now you are out of memory” (thanks electron).

Also concerned about both NixOS and Guix since they seem to be designed behind “everything goes through the package manager”, which is super cool for making it so the environment is the same, but I am concerned about getting stuff to work if a package doesn’t exist or if the library is designed to use like ‘pip’ or ‘bun.sh’ or some built in package manager.

Any thoughts about this? any non popular distros that might fit my use case? did I give up on some distro too soon? am I just a confused newb?

  • WalnutLum@lemmy.ml
    link
    fedilink
    arrow-up
    7
    ·
    1 month ago

    Active GuixSD user.

    Our application catalog is much smaller than many other distros simply because we don’t have the userbase large enough to surface the volunteers necessary to support it. So you will have to learn to write your own packages eventually

    That said, if you know your way around functional languages (in this case, scheme), it’s probably the easiest time I’ve ever had writing a package. Everything that goes into the script is known at the time the script is written, so weird extrinsic problems don’t really occur after you’ve written the package.

    Some stuff that you and the guix maintainers may not have the time to support will also get updated more slowly.

    Luckily flatpak exists, and is a godsend for the new wave of read-only (functional/ostree-based) OSs.

    Biggest appeal for me was having all my configuration in one place (and documented) so if I forget I did something in 6 months, it’s always staring at me in my home or system config file. You can accomplish the same thing by being diligent with say, script files, but it’s drop-dead easy to just maintain a system and home descriptor file and keep editing that.

    • zongor [comrade/them, he/him]@hexbear.netOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      edit-2
      1 month ago

      Using scheme would be a big benefit for me as I already know it whereas NixOS I would have to learn their config language. I suppose that if it is easy to create packages and submit them it would be like compiling it myself except that more people could have access to it. I shall take this under consideration.

      I do have one related question, during install how do you get an already customized config file onto the system during install? How do I create a config file beforehand?

      • WalnutLum@lemmy.ml
        link
        fedilink
        arrow-up
        2
        ·
        1 month ago

        You can start a different TTY than the install automatically starts. Guix has a ‘guix system init‘ command you can point to a system config and mounted filesystem, much like arch’s system init.

        If you use the curses-based installer it auto-generates a system config file for you.

        Note that the base configuration is entirely libre kernel so some drivers may not work (like wifi)

        In order to get these working out of the box you have to make a boot iso with guix with a non-libre kernel.

        The system crafters channel has a guide that details using nonguix (a non-libre kernel channel) in the installation out of the box: https://systemcrafters.net/craft-your-system-with-guix/full-system-install/