I have been using Linux exclusively as my OS since 1997. Except for a 2-year hiatus some 8 years ago where I got a Mac and used Mac OS.
I can 100% relate to your experience. It was painful. There were oddities all over the place. Some software I was used to use was simply unavailable. Package managers... oh I missed apt so much... And it was much slower.
Let alone the main compelling factor for Linux for me: that it is open source, and that I can inspect anything, even the kernel, if I need to. Surely, you occasionally need to fix some driver or configuration "CLI-style", but I'm more than used with this.
But basically, with Linux I feel I control and own the system. With Mac is pretty much like Windows: they own you, and for the most part you don't know what's going on --except that MacOS is still orders of magnitude better than Windows.
I prefer Macports and macOS over Linux package managers because Macports is like a rolling-release package archive without the disadvantages of rolling release on Linux. On Linux, I can use Arch and have the latest of all software - which means I have the disadvantage of having to stay up-to-date on things like dhcpcd and systemd and coreutils. I don't want to have the latest versions of these things or spend time routinely upgrading them piecemeal.
Or I can use Debian stable and everything is stable, but if I want something new I have to compile it myself, or hope there's a backport.
With macOS and Macports I get a stable base system that Apple keeps up-to-date security-wise with monolithic updates that I don't have to worry about, and Macports has the latest for things like Emacs or even the GNU coreutils.
> which means I have the disadvantage of having to stay up-to-date on things like dhcpcd and systemd and coreutils
In the past 8 years of regularly updating my rolling release Linux systems, I have spent significantly more time reading headlines about macOS releases breaking software, than I have spent staying up-to-date with dhcpcd, systemd and coreutils. They are ridiculously stable.
Yup Macports would upgrade everything and break stuff like FFI code. That is exactly why I prefer to use a Linux LTS release like Debian, Ubuntu or even openSuSE Leap with it's 18 month release cycle and uneventful upgrades that you can now even roll back.
You can use nix on "any" Linux distro with the unstable channel and get the most bleeding edge software from nixs binary cache, or Linuxbrew, flatpak, snap, appimage.
I can 100% relate to your experience. It was painful. There were oddities all over the place. Some software I was used to use was simply unavailable. Package managers... oh I missed apt so much... And it was much slower.
Let alone the main compelling factor for Linux for me: that it is open source, and that I can inspect anything, even the kernel, if I need to. Surely, you occasionally need to fix some driver or configuration "CLI-style", but I'm more than used with this.
But basically, with Linux I feel I control and own the system. With Mac is pretty much like Windows: they own you, and for the most part you don't know what's going on --except that MacOS is still orders of magnitude better than Windows.