Arch Linux Experiments

Recently, a designer-friend's Mac had an unfortunate run-in with a glass of water, and I volunteered my personal Macbook Pro as an interim solution, eager to seize the opportunity to lean more heavily on my iPad as an experiment.[1]

Alas, before too long I wanted to write some code for personal projects, for which the iPad is still unfortunately insufficient.

And then I wound up on r/UnixPorn.

I became entranced by all the pretty Hyprland themes the kids are into these days, with their anime wallpapers and vaporwave color palettes and command-line trinkets and decorators, so, I created a virtual machine on my gaming PC to experiment with Arch Linux and the i3 window manager[2] and embraced the stereotypical programmer practice of customizing my environment for at least a week as a prerequisite to starting any real work.

arch-desktop

I found some keybindings I liked,[3] tinkered with some apps and terminal themes, and then settled in to finally write some code. The tiled windows worked well, and having a Matrix-inspired digital rain terminal window open on the side added a little je ne sais quoi to the experience.

I bought an inexpensive mini-pc which will eventually become an upgraded Plex server with some enhancements like GPU transcoding and faster analysis tasks. But in the meantime, I set up another Arch instance, reconfigured and refined it a little further with a video compositor and a few other improvements that weren't feasible on the virtual machine, and decided to use it as my personal computer while my Mac is on vacation.

out1arch2

Benefits

Being able to have such control over my windows and workspaces with a few simple keyboard commands is beautifully efficient, and the level of customization in color, layout, feel, and function, has made my time with this computer feel incredibly rewarding. It's very fast, and very personal. This is my computer. There are many like it, but this one is mine.

I brought my tiny PC to a library to facilitate a discussion group (I knew the venue had a TV that could be used as an external monitor). It was lighter and easier to pack than my laptop. Plus, I earned the nerd cred of opening a terminal window to connect to the wifi.

Combined with my recent room lighting experiments, I've created this fun new vignette where I come into my room, turn on my colored LED lamps and red paper lanterns, and boot up my little hacker-computer as the terminals scroll by in a way that makes me feel like I'm in Snow Crash or Cyberpunk.[4] The novelty gives me a little dopamine hit and helps me feel like my personal identity is becoming just a little more colorful in a perceptible way.

arch-transparency-2arch-nn

Limitations

I love my Arch environment, but I undeniably miss elements of the Mac.

  • Sending text messages from my Mac's Messages app is my most appreciated quality-of-life computer feature. It helps me be a more attentive and engaged contributor in my relationships. I feel negligent when I put off responding to a text because I don't have a full keybaord attached, or because I don't see the message with my phone in the other room. Maybe this is a me-thing, but I just feel like I'm a better friend when I've got my Mac, especiallly since I'm prone to going down rabbit holes[5]. And at least with the Messages app, I still have a tether to my friends on the outside[6]. As someone firmly entrenched in the Apple "ecosystem," Messages is the top feature that makes me feel like I could never leave.
  • iPhone mirroring is a feature I haven't explored much, but this is another thing that just feels hugely convenient.
  • I miss the apps. All my photos have been in Lightroom since 2010. All my To-Do lists are in Things. All my text starts in Drafts. I like Audio Hijack for recording audio and Forecast for adding chapter markers in audio. Sure, I'm grateful for Slack and Obsidian and all the apps and utilities that are present in a Linux environment, but those absences are distinctly missed.
  • I've been interested in writing Mac apps with SwiftUI. This, obviously, requires a Mac.
  • Text replacement. This is a feature I use pretty often where I'll do things like type @@ to autofill my email address, or map some unicode characters, addresses, or styled names of shows or bands to a couple of keystrokes.[7]
  • I miss some of the shortcuts I haven't automated over or found replacements for: CMD+; for an ellipsis. CMD+CTRL+SPACE to open the emoji keyboard. The muscle memory for accent characters and other special characters. OPT+SHIFT+- for an em dash.I use all of these a lot.[8]
  • Airdrop. If I take a picture on my phone and need to get it on my computer, say, to attach to a blog post, airdropping it is seamless. Otherwise I need to email it to myself or upload it to a server somewhere.

Conclusion

I've been a Mac user since 2009, using a Windows PC as only a glorified gaming console since the release of Destiny 2 in 2017. At my most recent jobby-job starting in 2022 I've reluctantly adjusted to a Windows laptop for development work, which, not to be melodramatic, has been an excruciating exercise of enduring endless virtual papercuts.[9] But I hadn't used Linux regularly as a desktop operating system in years, and even then, never really connected with either KDE or Gnome desktop environments, so feeling at home in i3 has been the most fun I've had in Linux.

In fact, nudging into Linux again has made my development life easier outside of Linux, encouraging me to spend more time in vim, improve my shell .profile and learn about tools like yazi or fzf to make digging through files faster and easier without needing to leave a terminal.

But I just can't pull myself away from those darned Apple ecosystem features.

out1-big

Notes

  • Music player is Plexamp
  • Audio levels visualizer is cava
  • Digital rain effect is from unimatrix
  • Terminal clock is tty-clock
  • kinto.sh for Mac-style keybindings was a lifesaver after I figured out how to use CAPS as my super/mod key

  1. I can echo the sentiment well hashed out by Apple nerds who do these experiments every few years: it's come a long way, but the software still imposes some frustrating limitations ↩︎

  2. Hyprland did not like my Nvidia video card ↩︎

  3. This was the most difficult part, but probably made the biggest difference. ↩︎

  4. But not in a dystopian way ↩︎

  5. I'm experimenting with timers recently to be more mindful of this ↩︎

  6. This has also been a huge drawback of using a non-Apple work computer—my work-hours reply rate to friends has noticeably fallen since starting this job. ↩︎

  7. Update, I've now got this set up with autokey, which will work as long as I stay on X11. When I ultimately explore Wayland, I'll likely need an alternative option like Espanso, but in the meantime I opted for autokey for the support of "hotkeys" as well as abbreviations (see next bullet point). ↩︎

  8. I've since automated a lot of this with autokey's hotkeys! ↩︎

  9. On the upside, separating work from home has been easier ↩︎