6 ms·
While Homebrew is perhaps technically crude and somewhat inflexible compared to other and older package managers, I think it deserves real credit for being so e
by Athas 7y ago
While Homebrew is perhaps technically crude and somewhat inflexible compared to other and older package managers, I think it deserves real credit for being so easy to add packages to. I contributed Homebrew packages after a few weeks of using macOS, while I didn't contribute a single package in the ten years I ran Debian.
I'm also impressed by the focus of the maintainers and their willingness (really, enthusiasm) for saying no and cutting features. We need more of that in the programming field. Homebrew is unashamedly solely for running the standard configuration of the newest version of well-behaved programs, which covers at least 90% of my use cases. I use Nix when I want something complicated or nonstandard.
(Incidentally, I also contributed Nix derivations after only a few weeks of running NixOS, so Homebrew is not the only good package manager.)
- chrisjc 7y agoWhat are some 'Nix derivations'? I hate to say it, but I haven't heard of any, let alone used any. edit: I guess I know lots: snappy, dpkg, apk-tools, etc... I somehow think of brew as different from this list though. I find myself often wishing that brew worked on linux.
- aphexairlines 7y agoNix derivations refers to https://nixos.org/nix/about.html https://nixos.org/nix/about.html
- Athas 7y ago"Derivation" is just Nix slang for "package". I mean that I contributed some packages to the Nixpkgs collection.
- patrec 7y agoHere's a concrete example: https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/elvis/default.nix https://github.com/NixOS/nixpkgs/blob/master/pkgs/applicatio... Maybe the three most noteworthy things are: 1. it's not hard to write your own nix expression 2. you get a reproducible build 3. there are very powerful hooks to allow you to easily customize derivations by various means (look at some more complex derivation, like php, which defines dozens of options and there are other mechanisms as well). 1. Brew also has, but not 2 or 3 (it's definitely more customizable than say debian packages, but much less so than nix)
- dawidd6 7y agoHomebrew officially supports Linux since 2.0.0 release.
- deleted 7y ago[deleted]
- apostacy 7y ago> I'm also impressed by the focus of the maintainers and their willingness (really, enthusiasm) for saying no and cutting features. We need more of that in the programming field. Homebrew is unashamedly solely for running the standard configuration of the newest version of well-behaved programs, which covers at least 90% of my use cases. I use Nix when I want something complicated or nonstandard. I wish I could say I've had better experiences as a result of this attitude. The problem is the assumption that the latest software will always be an improvement, and not introduce any new problems, which is simply not true, especially on OSX. OSX has become really unstable over the last few years. If you use your computer to make money, then it is in your best interest to stay at least a version behind, and do your homework before any major OS update. Obviously, you should still stay current with security updates. I think I could have been forgiven for not wanting to update to High Sierra when there were severe issues with graphics card drivers, data corruption, and anyone could log as root without a password. Not wanting to use the latest version of OSX is not an edge case. So Brew constantly nudging me to roll the dice and update is really unhelpful. Brew itself has broken on updates more times than I can count. I don't see why it even bothers to do things like tell you that a package you want was removed, without offering an easy way to install it. It has gotten so bad that I have had to write helper scripts just to make it usable.