So long, Macbook. Hello again, Linux.


Long story short, after a decade on my Macbook, I switched back to Linux. Recently I’ve just found myself disenchanted with Apple in a way similar to how I felt maybe twelve years earlier with Microsoft, when I switched to Linux the first time.

Linux was much more difficult back then. My first attempt installing Fedora on my laptop was a disaster. And now there are companies that sell laptops with come with Linux already installed, with hardware tested, etc. Earlier this year, my colleague Garrett Reed suggested I look into the Librem by Purism. I bought a Librem 13. It’s been so great.

Back when I bought my first Macbook, I didn’t want to have to worry about my machine not working. I was sold on Unix and Apple sold the most user-friendly Unix available. They still do. I also had a laptop running Linux then but it was not that friendly—I wanted the convenience Apple provided.

Then I spent a decade with my Macbook and came to realize that investing some time in learning a system can pay off. I still don’t want to have to worry about hardware problems—and investing time in hunting down driver files and recompiling kernels is not the sort of investment I’m talking about—but I’m much more comfortable now with reading about a program, exploring its interface, writing or customizing config files, etc, maybe all before even using the program, than I was before. That sort of investment can pay off, particularly if it exposes you to new or unfamiliar things. The world of software can be a weird, wild, and wonderful place.

So here’s what I’m using now:

PureOS, PureBrowser, etc.

PureOS: PureBrowser and neofetch

The Librem 13 ships with PureOS. It’s based on Debian, uses Gnome 3 by default, and comes with its own special version of Firefox called PureBrowser.

Other Linux distributions can run on the hardware but I’ve found no reason to switch. Neither have I needed to install a different browser.

i3, st

i3 and st

But I have switched from Gnome to i3. Over the years I’ve migrated from graphical to text-based applications for most things, and when you spend most of your time on a command line or some other text-based, keyboard-driven interface, tiling window managers are amazing.

If you’re not familiar with i3 or tiling window managers in general, there are a lot of videos out there. But the general idea is: when you open new windows, the window manager both sizes and places it for you. And there are keyboard shortcuts for opening and closing windows, stacking and floating and resizing them, calling custom scripts, etc.

Unless you specify some other program to open, the program opened in new windows is your terminal emulator. I’m currently using st. It’s neat.

Another fun thing about i3 in particular and Linux in general is that it’s highly customizable. You can tweak so many more aspects of your experience, both the workflow and the aesthetics, than you can in other systems. You might not be impressed much with my environment—I pretty much just copied the acme colors—but some people have put a lot of work into making their setups look sexy.

dmenu (and scripts!)

dmenu is easily the most versatile (except maybe for emacs) and delightful tool I’m using, and is the one I miss most when I use other systems.

If you’ve never used it, here’s a good introduction.

But if you don’t want to watch that: dmenu is a simple program. It opens a window and displays a list of items and a text input area with an optional prompt. You can filter the list by typing, you can move the selection indicator with the arrow keys, and you can select an item by hitting the enter key. And it returns the text of the item you selected. And that’s it. But it adheres to the Unix philosophy, so it can be used in all sorts of different ways.

Its default behavior is to list executable items in your $PATH (which is why it’s sometimes thought of as an application launcher), and its default look is pretty gross.

default dmenu

But you can customize its colors and font, you can add a prompt, and you can specify the items it lists by piping in any text you like. I like it to fit in with the rest of my theme.

dmenu themed

You can use it in scripts, like this one to exit i3.

script with dmenu to exit i3

Here’s a clipboard manager that uses dmenu. I’ve styled it to fit in.

clipmenu

And here’s something like the plumber.

dmenu + plumber = awesome

emacs

emacs

emacs is great. I’ve been using it for almost twelve years. The more I learn about it, the more I love it.

mbsync and notmuch

email with mbsync and notmuch in emacs

mbsync is a program for syncing mailboxes. Essentially, when you run it, the program downloads new messages, syncs deletions, etc, between your local machine and your mail server(s). It’s a great way to pull your mail down to your local computer, both for backups and for reading and writing offline.

notmuch handles indexing and tagging your email for fast and easy searching (everywhere) and also presents a great interface (in emacs).

cmus

cmus

For music, I’m using cmus. It’s a big change from iTunes, and I miss seeing album art, but it’s super fast and fairly easy to use once you get used to it.

In Conclusion

linux is great