And this is why I have completely stopped using all Apple products. I used to be a massive Mac fanboy. But the software quality is absolute shit now and has been for at least the past 5 years. I don't understand why anyone puts up with it.
I've been seeing this exact same comment for over a decade now.
The first couple of releases of OSX are always a little rough around the edges. And then by the end of the cycle everyone proclaims how wonderful this release is.
Except the bugs have continued to get worse and worse. For me the deal breaker was the blank page in iOS Safari[1]. After fighting that one constantly, I threw in the towel. I've been so much happier. Btw I was an Apple user from System 7 through to 2019.
Back in the days OS X was a dumpster fire in terms of overall reliability until the very late releases of every major version. Some versions like Lion had pure crashes until the end.
Even looking a few years before, we had the root user password bug and other pretty severe issues way worse than what we’re seeing now.
I did say over the past 5 years, so things like the root password issue I include in that. I'm also utterly convinced airdrop is just a long running joke at Apple, I've gotten it to work like twice.
Snow Leopard was as solid as OSX ever got in my estimation. Man I miss those days. Snow Leopard's primary goal was just to harden Leopard and not really have too many new features. Apple really needs to bring that kind of thinking back. I'm happy to see their hardware is back on track, now if they could just get the software to do a U turn...
I speak only for myself, but after Catalina I started transitioning to Linux and couldn't be happier. Being able to set up my entire computer with a single Github repo is a godsend for productivity, all it takes are a few keystrokes and I've got a fully configured desktop with all my dotfiles, keybinds and applications.
I've been a Linux user for some 10 years, but have also had to use a Macbook Pro for a while due to work. There's nothing stopping you from fully configuring macOS through a single repository similar to how you do Linux. For a while my dot files were aimed at Linux (primarily), macOS, and Windows as I anticipated to have to use both macOS and Windows down the line, though I've since removed much of the multiplatform code.
Things may be different now as I haven't used a mac since about 2015, but depending on what tools you needed you couldn't escape the GUI completely (for a fully automated setup). At this point I don't remember all that was wrong, but one of the biggest required installing xcode or something like that before I could get git to work.
You don't even need --cask anymore. You can also use `brew bundle dump` to synchronize what you've installed via brew, and it also can sync mac app store installs too.
It's a bit annoying getting macOS system preferences synced still although.
How are you managing the desktop (gnome) files? I swear every time I try to move them to a new system or account all I get is grief; weird bugs, application crashes, dbus weirdness. I would love to see your recipe :) . All I can usually do is bring over app config files like emacs/vim/etc/personal scripts.
I don't use GNOME on any of my systems anymore (the 40 update destroyed all hope I had for the desktop going forwards), but I'm convinced you can get some settings transferred by poking around in your ~/.local directory. Having written a few GTK applications in the past, it seems like the rationale for this is because of GNOME's settings API, and how they define compliance with the GNOME spec. I find it to be a total clusterfuck, and if I had any confidence in the desktop's current management team I'd probably open a few pull requests/RFCs to try and fix it. I might sound a little heavy-handed here, but the "my way or the highway" rhetoric that GNOME's developers are pushing right now makes it really hard for me to take their desktop seriously, or blame anything but the developers themselves for their lack of features.
In any case, I can assure you that behavior is perfectly "normal" to them, unfortunately.
That sounds really neat is it some thing you can share? I recently setup a new machine which didn't take very long, but I have run into a few things I forget so would like to set up something similar.
I basically just run an install script which does a few different things. I start by updating the repos and regenerating my mirrors so I get the fastest downloads possible. After that, I install shell utilities (my editor, shell of choice, base-devel, etc.) and then I enable the AUR so I can grab the rest of my desired apps. The rest of it is decidedly basic, it just copies my tracked config files to ~/.config/ and moves my wallpaper to /usr/share/wallpapers. I run a few rain dances automatically too, like `sudo chmod a+wr /opt/spotify` (which lets me automate my Spotify theming process) and installing/unzipping a Steam theme.
To install, I run `git clone https:github.com/username/repo && ./repo/install.sh`, and I'm off to the races. I really reccommend writing one for yourself, as it's a great way to learn shell scripts.
For me there's a trade-off, depending on how often I setup a new machine. Value of automating with a procedural script vs taking the opportunity to try a leaner (or more modern) toolchain.
Currently upgrade about every 2-3 years, so I do tend not to need a bunch of things each iteration, and might upgrade OS. But I'd like a backup in case e.g. hardware failure, laptop lost or stolen.
Some declarative workstation config like terraform or Ansible would be interesting.