The first obvious answer may be the one you are comfortable with but that may be none for a new computer/ linux user.

The one where those package are available. Or even multiple ones.

With atomic (immutable) distros this question will arise more often as the question of which image becomes more important than which distro to chose.

I use dnf but I could also use apt or pacman. What are the relevant advantages of the package managers? What’s the reason to use apt over dnf? Nix? Simply package availability?

  • throwawayish@lemmy.ml
    link
    fedilink
    arrow-up
    13
    ·
    edit-2
    6 months ago

    I will simply list a couple of the images[1] I’ve used over time and provide some personal insights (in alphabetical order):

    • Alpine; when I’m restricted in bandwidth and/or disk space. FWIW, apk is even faster than whatever is found on Arch.
    • Arch; if I just need a certain package and can’t be bothered to look up if it’s available on any of the others. Yup, the AUR strikes yet again. Furthermore, if I’m troubleshooting and I find myself on the ArchWiki, then in order to prevent edge cases from happening and thus the provided solutions to not work on the non-Arch distrobox; I rely on the Arch distrobox. It doesn’t hurt that pacman (or any of the AUR helpers) are blazing fast. However, if I intend to rely on said AUR packages over longer periods of time, then I often do look for an alternative distrobox to grab the package from instead. While the AUR is excellent for the amount of packages it has, the security standards aren’t the best. Thus, if you’re security-conscious, then it’s better to rely on AUR packages sparingly, unless you’re willing to get into the nitty gritty and check how they’re built, how the package is maintained and if its maintainer(s) is reliable.
    • Bazzite-Arch; my go-to for gaming.
    • Fedora; as I’m already on Fedora Atomic, relying on Fedora distroboxes makes the most sense security-wise. Fedora is also known to take security very seriously themselves, so in general this is just very pleasant to rely on for security reasons. The only reason why one should not rely on Fedora for security reasons would be if they’re already on something from openSUSE (like Aeon/Kalpa/Tumbleweed etc). In that case, going for an openSUSE distrobox makes more sense for security. Furthermore, if the package I need is one that’s widely accessible, then I also rely on Fedora distroboxes. Lastly, currently, my development environments are all Fedora distroboxes. I might eventually change these to Wolfi distroboxes or simply rely on Nix, but that’s still WIP for me.
    • Ubuntu; I’ve had to rely on these a couple of times to use software that’s known to target Ubuntu. Most recently it was with Matlab IIRC.
    • Wolfi; For the security-conscious, this is probably the best choice. Unfortunately, I’ve only experimented with it so far without too much success. Thankfully, the Bluefin project has made some good use out of it. So I’ll try to emulate their ways in the near future.

    Notable mention goes out to Davincibox. Unfortunately my laptop doesn’t have a dedicated GPU, so I can’t make use of it. But it’s something I’m keeping my eyes on.

    NixOS is not a supported container distro, but I do have Nix installed through The Determinate Nix Installer. It’s somewhat underutilized currently, though 😅.


    1. The images will be the toolbox ones if available.
    • WilfordGrimley
      cake
      link
      fedilink
      English
      arrow-up
      2
      ·
      6 months ago

      In an immutable setup on Fedora (trying to main Bazzite) is the correct way to use zsh and oh my zsh as my main shell to use rpm-ostree to install it, or should I be using distrobox or Nix/Fleek?

      • throwawayish@lemmy.ml
        link
        fedilink
        arrow-up
        1
        ·
        6 months ago

        Good question! However I think it’s wise to concentrate on a particular word/phrase before actually answering your query.

        In an immutable setup on Fedora (trying to main Bazzite) is the correct way to use zsh and oh my zsh as my main shell

        Currently, it’s not always clear if there even is a correct way of installing some of these (more) edge cases. Therefore, I wouldn’t be surprised if you’d see ‘seasoned’ Fedora Atomic users that have all tackled these in very different ways while being satisfied with (not only) their own solutions (but also approve the respective solutions of their peers).

        As for your query, I would say that starting to use Fedora Atomic and pointing out correctly some of the more common ways to install software while being aware of the ambiguity that exists with the chosen installation method for this specific piece of software is already very commendable. So I would like to congratulate you on that!

        But, you shouldn’t be afraid to stick to what’s easy (aka don’t allow good to be the enemy of perfect). If the extra time required for changing your base system doesn’t bother you at all (which happens automatically in the background anyway), then layering it (thus installing with rpm-ostree) is probably the easiest method while protecting you from a lot of possible edge cases you might have to deal with otherwise. Traditionally, zsh (and other shells) were layered (thus installed with rpm-ostree) and uBlue itself included (perhaps still does) just commands to change root shell to zsh, fish etc. This might have changed in the last few weeks, but I think it should still be a safe bet. FWIW, I have never had any troubles pertaining to my zsh installation and any of its plugins (might as well link the managed zsh-config I rely on).