---
title: Bye Apple, Hello Tux
teaser: 'I switched from macOS to GNU/Linux. Let''s talk about the pros and cons.

  '
tags: linux,apple,tools
author: Jason Draper
published_on: 2018-06-25
---

## 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.

[Mandrake Linux]: https://en.wikipedia.org/wiki/Mandriva_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 Linux]: https://manjaro.org/

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]: https://i3wm.org/
[I decided]: https://thoughtbot.com/blog/have-you-evaluated-your-toolchain-recently

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.

[Xfce]: https://xfce.org/

## 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.

[Day One]: http://dayoneapp.com/
[arandr]: https://christian.amsuess.com/tools/arandr/

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.
