Hacker News new | ask | show | jobs
by embedding-shape 76 days ago
> I use an immutable distribution, i dont use the package manager as it is antithesis to the concept

I don't think "immutable distribution" typically means "can't install applications", it's more about the system files than anything, not across absolutely everything, similar to "functional programming" doesn't mean "no side-effects allow anywhere" because then you couldn't draw to the screen. All those OSes have included utilities for installing packages ("programs"), otherwise they wouldn't be very useful.

Besides that, even going by your own understanding, if you install homebrew on a immutable distribution, doesn't that mean homebrew is "antithesis to the concept" too, as much as any other package/program manager?

1 comments

No, because installing something in the userspace is different from system. Most package managers install to system locations, like /usr and so on. Homebrew installs into /home/linuxbrew/.linuxbrew and is useable from userspace.

Immutable might not be the best term, its more atomic. And while you can install packages with rpm-ostree for example, it gets layered ontop, and the more packages you layer, the more likely an upgrade fails, or a rebase fails. Hence you build a custom image, or adopt a user-space solution.

The method to install applications is again, userspace focused ones. for GUI apps its Flatpak and AppImage. For CLI tools it can be appImage, but for others its Mise, Brew, asdf, or even Nix.

The antithesis is installing applications onto the immutable portion of the system, or messing with it in any way (by layer packages ontop of the immutable parts). Installing into userspace is the preferred method. So these "immutable distributions" do have ways to install "packages (programs)" and that is Flatpak, Brew, AppImage, etc and not the system package manager.

It is why they are moving away from even having Layering as an option.

> No, because installing something in the userspace is different from system. Most package managers install to system locations, like /usr and so on. Homebrew installs into /home/linuxbrew/.linuxbrew and is useable from userspace.

I see, so it's the default settings of the package managers you don't like? And prefer to use homebrew with sane defaults, rather than configuring your package manager to install things somewhere else?

I guess I was confused about the whole "immutable and no package manager" but then also "immutable and yes, other package manager" thing, but if it makes sense for you, I'm happy you found a setup that works for you :)