Bye Apple, Hello Tux

Out with the old, in with the new

I’ve been a Mac user, lover, and evangelist since 2001. The school system I worked for at the time was all about Mac and I fell into the cult – hard. I had been using Mandrake Linux for basic IT work. It was easy to move from Linux (GNU/Linux) to Mac and things “just worked”, so I never complained about leaving Linux.

Recently, however, I’ve been feeling a lot of pain from being a Mac user. My hardware choices are getting more and more limited and those decisions are becoming more painful. I don’t like the keyboard at all on the new touchbar MacBook Pros and I’m annoyed that I’m asked to pay that much for a computer that I don’t enjoy using.

On top of my hardware complaints, the operating system itself is not as stable as it once was. It doesn’t “just work”. I was constantly fighting crashing apps and the dreaded spinning wheel of death. Eventually I reached the point where I was not happy to use my computer anymore.

After purchasing and returning a touchbar MacBook Pro twice due to hardware failures, I decided to give up and return to my trusty Linux. I quickly found that the Linux world has improved and is more stable than ever. It took a while for me to say it confidently but the truth is that I’m happier with my computer experience more now than I was in the past 4 years with Apple and I can’t imagine going back.

I’m going to give a quick overview about the Linux distribution I use, my window manager, and the pain-points I’ve ran into along the way. If you’re curious what it’s like on this side or have been considering a move to Linux, I hope you’ll find this enlightening.

My Distribution

After a lot of deliberation, I settled on using Manjaro Linux. It’s based on Arch Linux but provides a wonderful installer and lots of sane defaults. I get all the benefits of running Arch such as full customizability and the wonderful Arch wiki but my system was setup and running in under an hour.

Manjaro is a rolling release distro which means that they don’t wait a set period of time before dropping new software; they release it when it’s ready. The Manjaro team however has a delayed period between when the software is released and when they release it to their users. This allows them to test and check for areas that could possibly break your system. In the past 6 months, I haven’t had any updates that caused problems on my system.

In the past I’ve ran Debian or Debian-based distros like Ubuntu. While I really like those setups, I’ve learned more about my actual OS by using Manjaro since it’s a bit more hands-on.

My Window Manager

I decided to use i3 as my window manager – a minimal tiling manager. It’s really lightweight and that means most of my interaction with my machine comes from the command line. That’s where I spend most of my time as a developer so I don’t mind it, I really prefer it.

I3 is designed to give you full control over how you want your desktop to work. Want to use a new menu for opening apps? Cool, i3 doesn’t care. Want to use a different menu bar than the default i3 bar? Not a problem. Like most tools in Linux, i3 is great at what it needs to be and hands off other functionality to tools that are better suited to handle those problems.

For new Linux users, i3 may not be the best choice. Like Vim, while it’s incredibly powerful, it’s not user friendly at all. If you’re brand new to Linux you may want to consider another lightweight desktop option such as Xfce. If you’re an experienced user and want to really control your machine, I can’t recommend i3 enough. Without a doubt, it’s been one of the primary reasons I’ve enjoyed my switch.

What I’ve Really Enjoyed

  • It’s still *nix underneath. Most of the tools I used in the terminal work the same as they did on a Mac.
  • I have full control over my system. If I want to show something in my menu bar, I can do that with a simple shell script.
  • The speed. I forgot how much faster a computer can be without a lot of unnecessary UI effects and background processes.
  • The choice of hardware. I’ve lived in the Apple world so long that I forgot what it was like to choose your hardware. My Thinkpad is just as powerful as the new Macbook Pros but it’s lighter and I have nearly any port I could ever want. I never complained about the lack of ports on the Mac but now that I have them available, it’s so nice! I’ve given talks at local meetups and it seems like magic that I don’t need to carry any dongles and hope for the best!
  • Installing software is ridiculously easy. Using the Arch repository means that I can quickly install just about any package I need.
  • The support network has been wonderful. There is a common idea that Linux users are not friendly. If that’s true, I haven’t seen it. I’ve had nothing but friendliness and help with any question I’ve asked.
  • Lots of options in my operating system. Do I want a new desktop environment? I can do that! Would I prefer to change how my login screen works? I can do that. If you can think of it, it’s probably possible in Linux. The idea of small tools that do one thing well really plays out nicely when it’s spread across your entire operating system.
  • I can see my entire operating system. Having an operating system built on free and open source software means that if there is a bug, I have the ability to at least to attempt to fix software directly. This isn’t a common occurrence but it’s really nice when it happens.
  • The stability. I’ve been running Linux full time for my work and personal use for about 6 months now and I can count on one hand the number of crashes I’ve experienced. Both the apps and the operating system for Linux have been rock solid stable for me.

What was Painful

  • i3 is missing the polish of macOS. I sometimes miss that look and feel. If I was really concerned I could use a desktop environment like KDE and come closer. This hasn’t been a dealbreaker for me but it is something worth mentioning.
  • The initial setup and moving of all my dotfiles was a bit painful. I needed to recreate my Vim and tmux setup and that took some time. It wasn’t a huge hurdle but it took some time.
  • I miss 1Password. There is 1PasswordX available but it’s just not as good.
  • I miss Day One. I used it for journaling regularly and there is not a web option available yet. I’m currently journaling on my iOS device only until they release a web version.
  • Configuring multiple monitors was painful at first until I found arandr.
  • I had to move from using Omnifocus to using Todoist. I really enjoyed Omnifocus but I need my tasks available on my laptop so I didn’t have an option of Omnifocus anymore.
  • Configuring the trackpad was really painful. I wanted the ability to use two finger right-click. Trying to figure out where each distro stores its settings and then applying those settings was a lot of work. Even with all the customization, it’s still not a Macbook trackpad but it’s good enough.

Overall you can see that the biggest pain points I’ve felt have been specific software that I came to love on macOS. In my opinion this is where Linux falls short. Proprietary software often provides some amazing options and unfortunately it’s limited to platforms other than Linux currently. I love free and open source software but I also believe in proprietary options.

If you’re a web developer and you feel like Apple isn’t making you happy anymore, maybe give GNU/Linux a shot. I’ve really enjoyed my journey and I won’t be returning to macOS anytime soon.