I’m ditching Windows in favor of Linux on my personal desktop. And so I’m looking for advice on which distro I should start with.

About Me

I use Linux professionally all the time but mostly to build ci/cd pipelines and for software development/operations. I’ve never been a Linux admin nor have I ever chosen the distro I use. I’m generally comfortable using Linux and digging into configs/issues as needed.

Planned Usage

I use this machine for typical home usage: Firefox, a notes app (currently Notesnook), maybe office style tools like word and excel. I also use this for gaming: Steam, Discord, etc. Lastly and least important, I use this for a small amount of dev work: VSCode, various languages, possibly running containers.

What I’m Looking For

I’d like an OS that’s highly configurable but ships with good default settings and requires very little effort to start using. I don’t want it to ship with loads of applications; I want to choose and install all of the higher level tools. Shipping with a configured desktop is perfectly fine but not required. Ideally, I can have all of this while still keeping the maintenance low. I think that means a stable OS, a good package manager, stable/automatic updates, etc.

Last bit. Open source is rather important to me. I prefer free and free.

Anyone have good suggestions??

Edit

I’m aware of tools like Distro Chooser. They’ve recommended Arch Linux and Endeavor OS to me so far. But I’m not ready to trust them yet. I’m looking for human input.

Edit 2: Hardware Info

I’m running on an ASUS ROG Strix GA15DK. It’s just over 2 years old. The hardware was shiny but not top-tier at the time. It’s not new at this point but also not old by Linux standards.

  • AMD Ryzen 7 5800X Processor
  • NVIDIA GeForce RTX 3070
  • 16GB DDR4 3200 MHz RAM

Edit 3

It’s official. I installed EndeavourOS! I got it to work without any issues. Yup, first try. It definitely didn’t take me ~10 tries :D

Thanks for all the input all! Wonderful crowd here!!!

  • MonkCanatella
    link
    fedilink
    arrow-up
    2
    ·
    1 year ago

    When you share your /home, won’t you have to be pretty mindful/retest stuff just to make sure there’s no compatibility issues?

      • MonkCanatella
        link
        fedilink
        arrow-up
        2
        ·
        1 year ago

        Right, I’d have to check to make sure there’s no incompatibility among versions or installed programs wouldn’t I? idk maybe it’s not that complex

        • JoeyJoeJoeJr@lemmy.ml
          link
          fedilink
          arrow-up
          3
          ·
          1 year ago

          It’s possible to hit issues, especially if different distros are using different major versions of desktop environments or applications, but in practice, I don’t think it’s something that really needs to be worried about.

          If you were to upgrade/fresh install, and copy your home folder over, you’d have the same experience - it’s not much safer than sharing the home partition, except that you’re (hopefully) doing that less. You could still easily go from distro A using version 2 of something, to distro B using version 3, and then decide you don’t like it and try to roll back to distro A. If in the process your config was upgraded in place (as opposed to a new, versioned config being made*), you could have problems rolling back.

          With configs, you can usually just delete them (or, less destructively, rename them, in case you decide you want them back), and let the application make a new default one for you. With other files (e.g. databases), you might be in more trouble. But a good application will tell you before doing an upgrade like that, and give you a chance to backup the original before upgrading in place. When asked, it’s probably a good idea to take a backup (and not just for this distro hoping case).

          *For any developers reading this, this is the correct way to upgrade a config. Don’t be destructive. Don’t upgrade in place. Make a copy, upgrade the copy, and include a version in the file name. You can always tell the user, so they can remove the file if they want, but let them make the choice. If you can’t (e.g. the database scenario, which could be large), tell the user before doing anything, so they can choose whether or not to backup.