Personally speaking I might learn it at some point but for now nix's friction/overhead isn’t proportional to the occaisional inconvenience with traditional package managers.
Maybe it would make sense for nix to add a mode that basically aliases that first command to `nix install <package>`.
But yeah, Nix is much more than a homebrew replacement and that has its downsides.
1. Did't actually exist
2. Outdated version
3. Incorrect build
I'll keep the quality of Homebrew packages over the quantity in Nix
@M4MBP ~ % brew list | wc -l
149
If the complaint is that other systems are less up-to-date than brew is, then the number of things installed is still the issue - whether they're dependencies or not.
Unless, of course, the other system manages dependencies differently, say it compiles in static versions of required libraries at build-time, or divides them up into fewer dependent packages.
The 2/3 that are on nix are both out of date and created by some outside party.
I do not see a world where I provide nix stuff for my projects. There are already too many packages managers and I'm not spending my unpaid time to support all of them. GitHub and brew are my limit, def not learning nix just for this
- worse ux (nix commands are much more cumbersome and often make no sense compared to `brew install`)
- you have to use some third-party wrappers to make it work on Mac
- features incomplete and outdated packages (and is missing others apparently https://news.ycombinator.com/item?id=44034446)
... but it "does the job better than anything else could".
---
This is the issue I have with the whole nix discourse: it's hailed as this great magical tool. But when pressed for details it's always this: weird commands, configs, working or non-working wrappers etc.
I don't know what you're talking about re: third party wrappers, this is just an option for a slightly easier and perhaps more robust install. And homebrew isn't free of issues at all.
;)
> And homebrew isn't free of issues at all.
No one advertises brew as "the best", "better than everything else" etc.
BTW, looked at Determinate Nix. It's a custom distribution and a custom daemon, and its own fork of documentation
Re: ffmpeg, it's just something do to with default codecs or something I don't remember, I'm not even sure I really needed it but I saw it on my packages list and since I use nix-darwin it doesn't matter that much where the package comes from. I have hundreds of packages from nixpkgs, many shared with Linux, and quite a few Mac specific ones.
Again, I'm not part of a Nix cult, I just genuinely have had an overall great experience with Nix and I find the criticism overblown. I guess since a subset of users are very enthusiastic and vocal about it it attracts this.
I briefly experimented with nix-darwin, but concluded that it was overkill for my needs. Home Manager also has the benefit of not being Mac-specific (so plenty of questions and examples exist online).
Most importantly, I no longer have to mentally prepare myself when updating Mac OS. If I recall correctly, both MacPorts and Homebrew require the user to re-install all installed packages after a major version update, but this problem doesn't really exist on Nix. It's also nice being able to store flakes in a Git repository and effortlessly rollback changes or replicate a whole development environment across several machines.
I agree that nix-darwin is a bit overkill, I mainly use it for the homebrew integration, but I think so is home-manager, I don't keep user app configs in Nix since they are never exhaustive and more effort than it's worth.
Several upgrades wrecked havoc on my system, a lot of things didn't work as expected, I had to package a lot of stuff; eventually I just bit the bullet and started using homebrew