← Back to context

Comment by mikae1

1 month ago

Thank you for Linux Homebrew! It works so damn well.

For me the distro package manager is for system packages, Homebrew and Flatpak for the user facing apps.

Where do you draw the line between system packages and user facing apps? Some software defies such an easy categorization. If your default install doesn't come with docker and you install docker later for development, does that make docker a user-facing app? What about language toolchains like golang, rust, npm, etc?

  • > Where do you draw the line between system packages and user facing apps?

    If it works in Homebrew, I almost always pick Homebrew. :) I have a pretty good feeling for what works since for the past few years I've mostly used an atomic distro (Aurora, based on Universal Blue, based on Fedora). It just comes naturally for me on Fedora too.

    I've found that this way you can get many of the stability pros of using an atomic distro even on a non-atomic one.

    • > I've found that this way you can get many of the stability pros of using an atomic distro even on a non-atomic one.

      Digression, but I’m curious since you brought it up: Are you saying that Silverblue-based distros are noticeably more stable than Fedora? Or is it more a theoretical benefit, that you believe more in the long-term stability of that architecture?

      4 replies →

  • It's an interesting question on Linux. On macOS entire toolchains would be fair game. I just ran `brew install colima`, `brew install llvm`, etc.

    But clearly anything that would conflict with distro-specific opinionated decisions is out. Or DE-specific opinionated decisions. Maybe a good rule is "anything that would be useful simutaneously on all *nix".

    • I use `lima` and `llvm` every day with brew. It works great there's no reason to use distro specific tooling when you can use what everyone else is using.

    • "Conflict" is maybe a strong word? Homebrew installs stuff into its own directory tree so it should in theory not have issues coexisting with native packages.

I don't understand the distinction you use here.

Then again I use versioned AppDirs on Linux since +20 years anyway, so I am not really into any arbitrary disctinction random linux distributions try to push down onto the (downstream) userbase. Besides, if you compile from source, why would you want to rely on the distribution package manager to begin with?

None of them allow for versioned AppDirs by default as far as I know; NixOS uses a hashed name, so that is the only exception I can think of (and GoboLinux of course), but as far as I know if you are on e. g. a debian system, you can not use it for a versioned AppDir layout.

  • > I don't understand the distinction you use here.

    Distinction: https://news.ycombinator.com/item?id=49683258

    I use "dnf" to upgrade my system and "flatpak update" and "brew upgrade" to upgrade the apps I've installed.

    An app like VirtualBox does not install using Flatpak or Homebrew, so I would use dnf for that. It's usually an app or two that doesn't work via Flatpak/Homebrew/AppImage that I need to install using dnf.

Same, for me it made it possible for me to work on Linux with teammates on Mac with very little messing around of the setup scripts.