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?
I will simply list a couple of the images[1] I’ve used over time and provide some personal insights (in alphabetical order):
apk
is even faster than whatever is found on Arch.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.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 😅.
Thc for sharing your experience!
It has been my pleasure 😊!
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?
Good question! However I think it’s wise to concentrate on a particular word/phrase before actually answering your query.
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 withrpm-ostree
) and uBlue itself included (perhaps still does) just commands to change root shell tozsh
,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 myzsh
installation and any of its plugins (might as well link the managed zsh-config I rely on).I installed zsh and oh-my-zsh with an Arch container and it works flawlessly.
Try to avoid using ostree