Minimalist software management for POSIX systems

June 15, 2019 — July 5, 2023

computers are awful
premature optimization
Figure 1

homebrew is a good dependency manager for apps which are not packaged by the system.

1 Installation

Classic install like this:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

On macos there is, since version 4.0 a .pkg installer. For now it is not easy to find (may change when it has mbeen better tested) but it is available at the build action artefacts, e.g. here is the 4.0.26 installer.

2 Desiderata

On linux, I want all the libraries which are too patent-encumbered to be bundled with whatever holier-than-me distribution I run. This means codecs and other content-related apps, e.g.

brew install libsamplerate libsndfile ffmpeg node pandoc webp libavif youtube-dl

I would typically install the following bonus utilities

brew install hugo pandoc fish syncthing pyenv pipx rename \
    fdupes rclone tectonic poetry bfg gdal

3 Useful commands

If I want to know what I currently have installed, I can do

brew leaves

4 Old versions of stuff

homebrew no longer supports multiple versions as a mainline feature; there is a developer hack:

brew unlink hugo
brew extract --version=0.112.5 hugo homebrew/core
brew install hugo@0.112.5
brew link hugo

That did not work for me.