Powerful command-line environments are offered everywhere (wsl, Linux container on Chrome, Linux on Linux). MacOS is actually quite lacking in comparison (being limited wrt licenses and lacking a package manager). So it’s just a GUI question, and I’m not sure there is a definite lead these days.
Integration with their other hardware devices is the more important moat right now, as is hardware.
There are plenty of third-party package managers for macOS that work fine. I would prefer it if Apple picked one to officially support, but installing Homebrew takes me ten minutes and then I never have to think about it again.
I had unpleasant issues with homebrew upgrades back when I used it. It’s not exactly state of the art. (Nix works the same everywhere, though — but there are some hoops you need to jump through on macs)
It’s definitely not the best. I have my issues with it. But I’ve been using it since I got a Mac in 2014 and it has improved a lot since then, it rarely blows up on me anymore. In fact I can’t remember when last it did.
I’ve always wanted to use Nix and have tried to get started a few times. It has always ended up seeming more trouble than it’s worth.
I've used it as my primary package manager on macOS for six months, but ended up dropping it.
My main reasons -
* Nix doesn't have support for GUI apps like homebrew cask does - which meant I couldn't drop homebrew anyway.
* The nix ecosystem forums suggest using nix-shell for managing packages for other languages, eg. python, java - but it's been really difficult to convince team members to use nix instead of pyenv, conda, gradle etc
Integration with their other hardware devices is the more important moat right now, as is hardware.