Live data from Hacker News

Show HN: Homebrew 6.0.0

brew.sh

211–220 of 380 posts

Re: Show HN: Homebrew 6.0.0

#211

I have switched my full OS-level dev env to https://mise.jdx.dev/ from Homebrew+pipx+npm, initially as an experiment but found out that it actually works amazingly well. Many things get installed directly from GitHub releases or a corresponding package manager (uv, pnpm, go get ...), zero glue code to "repackage", zero version lag. You can install any arbitrary version of a package, even multiple ones at once, and dy…

I like mise a lot, but only use it for project specific tool management, JDK versions, etc. I tried to use it for system wide things, but found it didn't work as well for me with things that I wanted to just be tools where I didn't care what specific version it was as long as it was more or less current, Helix, NeoVim, RipGrep, etc.

mise use -g ripgrep@latest

I recently found mise and have become a fan as well. I have used asdf for about a decade and it supports the same .tool-versions files so initially I used it for those exact same things.

But I use four different computers for development regularly and sometimes use Codespaces as well. While syncing dotfiles handles most of my setup, it doesn't handle binary dependencies of my dotfiles - my neovim setup wants fd & rg etc. So now those go in the mise global config. I also have a global node & python along with uv@latest which pretty much covers every tool I might want to install.

I have never cared for the fact that homebrew tries to maintain shared dependencies and several upgrades have broken stuff for me.

Re: Show HN: Homebrew 6.0.0

#213
post #89

Earlier quoted context omitted.

Homebrew is so good that I use it on Linux whenever possible. Most Linux package managers cannot separate user-installed packages from system packages. This makes cleaning up your workstation nearly impossible and a pain in the ass, since you can't tell what should be removed, or more importantly, what can be removed. Also, most native package managers update much slower than Homebrew, meaning you often only get outd…

Brew is probably serving your needs, but you might also want to look into Nix/NixOS, which takes what you are talking about to the next level.

Yeah I tried nix about 8 months ago. Not really as simple as homebrew. Even the detereminate nix tutorial though nice felt too much of a hassle. I feel homebrew really is a nice interface which is pretty close to conventional package manager, while nix even though the concept is revolutionary, felt lacking in user experience. Hope the documentation improves.

Re: Show HN: Homebrew 6.0.0

#214

Homebrew is a non-profit project run entirely by volunteers, not employees. We need your funds to pay for software, hardware and hosting around continuous integration and future improvements to the project. Every donation will be spent on making Homebrew better for our users. Please consider a regular donation through GitHub Sponsors, OpenCollective and Patreon. I donate to a lot of open source projects that I benefi…

I'm amazed they're not sponsored by Apple themselves, or at the very least major mac-forward Dev houses.

If it wasn't for Brew, macOS would have no chance against Linux as a dev platform.

Re: Show HN: Homebrew 6.0.0

#216
post #24

Hi Mike, I’m @bfontaine on GitHub (I helped maintain Homebrew in ~2014-2016). I’m always impressed at your longevity as a maintainer; it’s been like what, 16+ years you’ve been maintaining Homebrew and you’re still here, still shipping new features! Thank you for everything!

[dead]

Re: Show HN: Homebrew 6.0.0

#217
post #89

Earlier quoted context omitted.

Homebrew is so good that I use it on Linux whenever possible. Most Linux package managers cannot separate user-installed packages from system packages. This makes cleaning up your workstation nearly impossible and a pain in the ass, since you can't tell what should be removed, or more importantly, what can be removed. Also, most native package managers update much slower than Homebrew, meaning you often only get outd…

> Most Linux package managers cannot separate user-installed packages from system packages. What is the use case when someone would want to differentiate system/user installed package? Isn't it good things that they are the same - meaning once something is install - it is there regardless of how it got here.

In my current use case I'm setting up a new Ubuntu server for hosting LLMs. I didn't take notes when setting it up last time around but want to document exactly what was required to pass on to coworkers trying something similar. I don't know what packages I installed to get the minimalist setup working vs what is installed by default. I'm tempted to nuke and redo with notes but I'm sure there is a better method of tracking down what I deployed to get to the current state.

...or not, and this is why HomeBrew exists and I need to learn it or ansible/etc.

Re: Show HN: Homebrew 6.0.0

#218
post #131

Earlier quoted context omitted.

LTS still typically get security updates. That's what the support in long term support means.

This gets thrown around a lot, but it's not entirely true. Depending on the particular distro, only certain core packages are likely to get updates on LTS releases. Non-core packages may just get left to rot until the next LTS release. Specifically Ubuntu follows this. A lot of their non-core packages just get imported from Debian and then just sit unmaintained until next release (this goes doubly if not using Ubuntu…

> Depending on the particular distro, only certain core packages are likely to get updates on LTS releases.

All LTS distros fix only some core packages sporadically as no one is able to back port all the patches esp. since most packages do not use CVEs and just fix bugs on the go. "Stable" for non-rolling distributions simply means "horribly broken and outdated".

Re: Show HN: Homebrew 6.0.0

#220
post #89

Earlier quoted context omitted.

Homebrew is so good that I use it on Linux whenever possible. Most Linux package managers cannot separate user-installed packages from system packages. This makes cleaning up your workstation nearly impossible and a pain in the ass, since you can't tell what should be removed, or more importantly, what can be removed. Also, most native package managers update much slower than Homebrew, meaning you often only get outd…

> Most Linux package managers cannot separate user-installed packages from system packages. What is the use case when someone would want to differentiate system/user installed package? Isn't it good things that they are the same - meaning once something is install - it is there regardless of how it got here.

Two reasons come to mind for me:

1. It's very common, especially in certain ecosystems like Python, for the system to depend on old versions of things in such a way that updating to modern versions will break your entire system, while at the same time you want to run something at the user level that depends on a newer version. The solutions to this are usually ecosystem specific and often annoying to use for someone who just wants to run a program (again a great example being Python venvs, which at this point have decades of tooling built up around trying to make it less annoying to deal with).

2. For "cattle" systems having everything installed at the system level is generally not too much of an issue, but for "pet" systems where the user might be experimenting with things it's really nice to be able to install stuff in a way that doesn't affect anything outside of your user account even if it's also available at the system level. The computers that I personally operate from on a daily basis tend to build up a lot of crap I used once over time and removing it without just backing up my stuff and nuking it all can be a major pain.

Post reply on HN