3 ms·
Homebrew is deceptively simplistic in a "worse is better" way, but their management is arrogant, make poor engineering decisions, and causes headaches at scale
by oldbbsnickname 3y ago
Homebrew is deceptively simplistic in a "worse is better" way, but their management is arrogant, make poor engineering decisions, and causes headaches at scale beyond individual web developers who don't notice the subtleties of system entropy or configuration management. For example, their recipe system doesn't respect local changes and insists on querying their API "cloud" for package metadata. Useful options for package configuration were removed. Parallel downloading and installation doesn't happen. Every invocation of the brew command is slow, having to traverse ruby and bash. It sends telemetry by default. There are a bunch of side-effects that aren't handled. Formula inclusion is decided not by subject matter experts but by "Wikipedia editors" who decide arbitrarily.
Nix solves version and configuration dependency hell problem by allowing multiple versions and configurations of the same package side-by-side. Unfortunately, it also still wants to make system-wide changes on macOS. It also has the "problem" of less wider accessibility because the functional nature is more complex.
PS: I have worked in client platform management and engineering at scale.
- grhmc 3y ago> Unfortunately, it also still wants to make system-wide changes on macOS. For context, these changes are: 1. Creating and mounting a volume at /nix for the store 2. A daemon used for isolating build environments 3. A zshrc / fish / bash hook to load a few environment variables (PATH, mostly) 4. (new!) an on-boot Launch Daemon to keep those profile hooks working between upgrades.
- oldbbsnickname 3y agoNo sale. Too much complexity and too many side-effects.