I never expected to use any other OS than my beloved Linux (and especially Arch Linux) for developing and day-to-day computing. Well, I actually use Windows to play some games with friends occasionally, but the time has come to use a Mac at work. It was simply the easiest way to get a much more powerful machine than my ThinkPad X390. So here I’m trying to write up what I like about macOS and what I miss from my highly customized Linux machine. This isn’t a fair comparison as I know much more about Linux than about macOS, but maybe you (as in the reader) can correct me and I’ll learn something new!

Things I like

So let’s start with the things I like about macOS.

1. No UI glitches

As a Wayland user I’m used to UI glitches with not Wayland native applications. For example getting IntelliJ IDEs running took quite some time, to set all needed environment flags. And most of the apps and system UIs do look great by default. I think it might be hard to do some customization if you want to, but as I don’t care that much I’m fine with the default.

2. Hardware accelerated apps (especially browsers)

Yes this is still a thing on Linux. You can get it to work with chromium and Vaapi or Firefox, but it’s often buggy, your browser decides to freeze, or it simply won’t work at all. At least this was my experience on my X250 and my X390. On my desktop computer I do have enough performance to simply not need hardware acceleration, but it is really handy on a mobile device.

3. Time Machine Backups

In my opinion a modern OS must provide a simple tool to back up your system. Time Machine may not be the fastest backup tool, but it does the job and restoring files is nicely integrated in the UI. I also wrote a post about how to transform a Raspberry Pi into a Time Capsule here.

4. It’s a UNIX

And therefore most of my used applications and workflows simply work. I mostly rely on a terminal with zsh, git, neovim, tmux and some other tools and within the terminal there absolutely no difference between my Linux machine and the Mac. Getting all my settings was also very easy, clone my dotfiles repository, add all need symlinks via stow and I was ready to go.

5. The magic touchpad and the gestures to navigate the UI

On my ThinkPad I was a happy trackpoint user as it provides access to a mouse without moving your finger too far away from the keyboard. I was surprised to enjoy the magic trackpad, but the experience of a touchpad instead of a mouse is somewhat nice. My only problem is wrist pain after using the touchpad for a whole workday, so I’m currently switching between mouse and trackpad. A annoying thing about that is that you can’t disable/enable natural scrolling per device. I enjoy it on the trackpad, but don’t like it on the mouse.

6. APFS

On my Linux machine I’m using brtfs because it supports snapshots, compression and is a copy-on-write (CoW) file system. But to be honest the initial learning curve and setup took quite some time. On macOS, I get all of this for free with APFS.

7. Application Launcher

I am used to rofi or wofi to start my applications via keyboard only. On macOS, I simply use Command + Space to get spotlight search to start applications and search for other things. This is more or less the same workflow as on my Linux machine.

8. Application scaling

Scaling on a 4K display works like a charm.

Things I don’t like:

Now to the things I don’t like, or I’m still searching for a workaround.

1. No package manager

As Linux and especially Arch Linux user not using a package manager to install my software feels like using Windows 98. (I don’t use Windows that often, but I think they also have a package manager now?). There are three options to install most of the software on macOS. At first there is the ‘download it from the web and run the installer’, second the official App Store and last using a package manager like homebrew.

2. Can’t disable dock

I simply don’t need it. When I want to start applications I do it via my terminal or via spotlight, but this seems like another problem of a keyboard centric user.

3. Can’t integrate into spotlight search (gopass)

I let gopass handle all my password/secret related things. On my Linux machines I’ve integrated it perfectly within rofi and it looks like Alfred can do the same on macOS. But this is one of the things that’s still on my to-do list.

4. Touchbar and no physical escape key

I have no idea who could possible like the Touchbar. Especially as because if it there is no physical escape key. As I like to use Neovim for editing config files and more ore less anything besides code, this is just annoying.

5. Different keyboard layout

I think this just takes some time to adjust to it.

6. Floating window management

I’m a happy user of sway and really enjoy using tiling window managers, so using a floating window manager feels like a step back. There are things like virtual desktops that work like workspaces in sway, but you can’t move apps to a different workspace with a shortcut (please correct me if I’m wrong here!). You can use the magic touchpad/mouse, but I prefer to use the mouse/touchpad as rarely as possible.

7. launchd uses xml configuration files

As a Linux user I’m used to systemd units, that are sometimes long, but not as unreadable as XML. But maybe that’s because I’m actually never used XML in the past.

8. Click in window to actually focus it

At first, I thought the system was somehow unresponsive, or the mouse is not in the window I want to type in, but I later noticed that you have to actually focus a window with a click. This is so annoying, especially with a floating window manager, where it is normal to have multiple windows overlapping each other. Why shouldn’t I be able to type in a window that I didn’t focus with a click?

9. Updates take a long time

I have no idea what the mac is doing in the background, but I never experienced updates taking that much time. For example the update from 12.0 to 12.1 took about 30 minutes. And this was only the operating system update, after that there were also some brew updates, docker and more.

10. Bad heat distribution and loud fans

The hardware seems overwhelmed by the heat produced by the Intel i9. If you open a few apps, start debugging or a few containers it will start to get hot very fast. And the fan is very noisy, but I think all if this will be fixed with the new M1 Macs. Besides that the device is pretty well build.

Conclusion

I think I will update this post with new learnings from time to time. For now, I’m quite happy with the macOS setup, as I could simply copy most of my dotfiles. To be honest the things I use most of the time are a terminal, a browser and an editor and these things are working quite well. The thing I miss the most is a good package manager. Pacman does an excellent job at this, because it is fast and make it so much easier to keep your system up to date.