How about a usable package manager, or a usable window manager? Brew is extremely slow and cannot do versioning (as in, installing a package will result in random other packages upgraded across major versions), and for window managers there are only two non-paid versions which are OK but still poorer than alternatives available on Linux.