One year ago I still had a MacBook Pro for work and a MacBook Air at home. Now I have a Thinkpad T490 running Manjaro + KDE and a Dell XPS 13 running Ubuntu + Gnome.

I have been using Linux way before I even started programming, but the last 7 years I was on MacOS, since that’s what all the cool devs use.

Since a while now I am back to two Linux machines. The main conclusion for me definitely is that they are all good enough for what I do.

Still, there are differences:

Let’s start with the hardware

What still stands out are the touchpad and the speakers of the MacBook. Personally I do most things with the keyboard though for which which I prefer, both, the Thinkpad and Dell. And I either use headphones or connect to external speakers anyways.

The Thinkpad is impressive for the amount of ports it has: HDMI, LAN, SIM card, USB and many more. The other two machines are mostly only USB-C and headphone adapter.

The Dell is probably my favorite for its size, keyboard, touchpad and overall feel.

Now let’s talk about software

Most notable software I use are Firefox, Alacritty, Neovim, Dropbox, Spotify, KeepassXC plus YubiKey. Then for work there is also Slack, Docker, VirtualBox and Google Drive. Occasionally I also use Kdenlive, Krita, OBS Studio and Steam.

Luckily all of them work on all of the systems.

Docker feels 10x faster on Linux. Probably related to us doing a lot of volume mounting. That is a huge productivity win for my work since we run everything in Docker.

Google does not provide a Linux client for Google Drive. For me it is enough to use the web version. Plus, as a nice commenter told me, there is an integration for KDE’s file browser which allows me to access file transparently. There are also some promising open source and paid 3rd-party clients if you need to access files offline.

Monitor, printers, Bluetooth speakers and Bluetooth XBox controller worked for me with all the devices so far.

Package management

Installing software is not a big deal on any of the systems.

With Manjaro I found all the software I need right in the available repositories, which also include AUR from Arch Linux. That experience has been nicer than Homebrew on Mac, which is often slowing you down since it’s updating all the time and it’s nicer than apt on Ubuntu, where packages are often outdated or non-existent.

I also like the rolling releases of Manjaro itself. There are no big scary upgrades as you get with Ubuntu and MacOS. I also really like the settings UI in Manjaro/KDE to configure all this - you can even switch the Linux kernel in there.

Manjaro Kernel Settings

Also interesting has been that on the Mac I actually had to install more software than on Linux: Starting with Homebrew for package management, Spectacle for aligning windows, Tunnelblick for VPN and also many basic command line tools.

Configuration

From my experience MacOS has actually been the most annoying out of them. While in general it is pretty polished, there have been some rather annoying issues. With both the Linux distros there are also issues, but you have enough flexibility and there is enough help online to fix all of it (especially nice is the Arch wiki when using Manjaro).

I definitely tweaked more settings on Linux, but I don’t think I spent more time on it since there are simply a lot of options available, while I had to work around less issues.

I found things much easier to configure in KDE than Gnome. For Gnome you definitely want to install the Gnome Tweak Tool. But even then it has much less settings and many things can only be configured in the terminal.

On Linux you definitely want to enjoy the freedom to theme and setup your desktop the way you like. The small time effort seems totally worth it to me even if it improves the experience of staring at this screen for hours every day just a little bit. You can theme everything from apps like Alacritty, Neovim, Slack and Firefox to the desktop and icons.

KDE Nordic Theme Desktop Screenshot

But I rather keep the effort here low since it’s mostly a one time thing to setup things. While I happily work in vim and ssh into servers all day long, I gladly use a GUI to configure my desktop environment.

KDE definitely shines here. The system settings allow you to search, download and install themes for everything.

KDE Settings - Global Theme

Also icons sets can be installed in here which I had to do in the terminal when using Gnome.

KDE Settings - Icons

Also relevant is that KDE is built on top of QT while Gnome is built with GTK. I use, both, apps built with QT and apps built with GTK.
KDE does a nicer job of integrating apps from both GUI toolkits. It’s also straight forward to theme GTK2 and GTK3 right in the KDE settings.

KDE Settings - GTK Theme

Performance

I won’t try to do any benchmarking here. More interesting to me is the perceived performance.

Here I can say that the biggest difference is as, already mentioned, Docker.

Apart from that file search in my editor and also starting applications are both definitely faster on Linux. KRunner in KDE also feels faster than searching in Gnome or Spotlight on a Mac.

I mostly cannot tell a difference between Manjaro+KDE and Ubuntu+Gnome, but looking at the system status you can see that Manjaro+KDE consumes less ressources and has less systemd services running. For me it was definitely a surprise to find out that in 2020 KDE is more lightweight than Gnome. That used to be very different.

Booting the system I have to say that Dell BIOS seems to be the fastest and Lenovo Thinkpad the slowest. Or Lenovo prefers likes to show their giant red logo for a bit longer.

The actual Linux distros are both pretty fast. I find that KDE gives you a smoother booting experience and Manjaro doesn’t have a loading screen while Ubuntu shows a loading screen for 1-2 seconds.

One point for the MacBooks is that their sleep mode (closing the laptop lid) lasts longer. I think the Mac switches to hibernate automatically. While hibernate works on the Linux laptops, it seems to be not faster than rebooting from scratch.

Conclusion

I hope this experience report is helpful. Of course it only applies to the specifics of my use case and preferences, but there might be still some takeaways for others in here.

Please reach out and tell me about your experiences, preferences and thoughts! Also, feel free to ask for any additional info or help.