3 months ago I made the switch to Linux (manjaro) with i3. I currently run off an Intel NUC, which works perfectly fine, but I have a Thinkpad now on the way. I figured I'd do a writeup because I'm a designer and that makes me a little bit of a freak.

First, I was already a vim user for 8 years, so I was used to config files and the terminal. I moved primarily after watching some videos about I3 / awesome WM and browsing the /r/unixporn subreddit. Primarily I liked the idea of designing my own OS from scratch, and the idea of being able to change ANYTHING was really intriguing to me.

I guess it's important to note that as a designer this wouldn't have been possible without tools like Figma and Framer being web based. Put bluntly, Linux native design tooling isn't up to par with what I had on a mac, and without Figma I wouldn't have been able to move over full-time. It's also important to mention that while I classify myself as a designer, I design 90% of the time in code, writing React + CSS. I realize I'm a little different and this likely sways some of my feelings towards linux.

In short, I've really enjoyed the switch. The window management alone has been reason enough. Being able to navigate my windows with key commands, and generally lay things out the way I see fit between polybar + i3 has been fantastic. Don't like a certain shadow? Change it with picom. Don't like seeing title bars on your windows? Change a config. I'm also a designer that believes in heavy focus (think tab focus in a browser) so every window gets a thick focus border. Everything is matched to a color-scheme that I like, and I mean everything. I don't feel like I'm using Linux so much as I've used Linux to build Dave OS.

I was able to migrate nearly $500 of annual tooling to home-made scripts and services that I run through GCP. For example. I used to use cloud app for screenshot / movie snippets. Any designer will tell you something like that is their bread and butter... "hey what do you think of this?". I moved it to Peek / Flameshot + a 40-line bash script that watches a folder and uploads it to a gcp bucket. It took me a half day of learning. At the end of it I had a funny realization... why have I been paying for these simple services for years and complaining about features they didn't have? Now I just add the features.

Performance is hit and miss. Everything I used to do in the terminal (which is where I spend most of my time) feels faster. In general, I had to drop apps and move command line. This was fun! I moved to buku for bookmarks, taskwarrior for todo lists...etc. What I loved about this was it forced me to engage more in the OSS community. I already do mostly OSS stuff for work, but I was in my bubble. Linux forced me out, and I found myself talking a bit more on Github, asking questions and the like. This was the thing that I've ended up loving. In general I've been amazed at the amount of support I've gotten from maintainers by just saying "Hey, I'm a designer, I'm not so knowledgeable about the guts of this code, can you help me out"?

Slack and zoom are slow. They are pretty resource intensive apps and weren't exactly speed kings on my mac, but they do feel noticibly worse on Linux. I'm hoping this is due to my hardware, but I suspect the apps just aren't as considered in Linux. I've really enjoyed AUR / pacman for package management and it feels like brew, but for everything. The one thing I think Linux is missing is a good calendar application that syncs with gcal. The terminal based ones are a little overweight and underdesigned, and I can't find a GUI one I like.

Anyways, I'll probably do a formal blog writeup at some point, and more importantly make some videos of my setup, since it's probably interesting for folks to see how a designer uses Linux, but I thought it'd be worth a quick post to let others know its possible.

Hardware wise I had no trouble with my mac, mostly because I already had my own custom keyboards and the like, but I'm excited about the new Thinkpad on the way more for it's power-to-price.