It's now been over a month since I made the full-time switch from macOS to Linux as my main operating system. I did dabble with Linux weeks prior, but on January 4 I received the Asus Zenbook S14 and sent my MacBook Pro to retirement.
The experience since then has been mostly good. Like I wrote in my first "Switch to Linux" piece, most of the things I need for work live in the browser. And nowadays even a fridge could run a browser. (Whether it should is a separate question.)
But I still used a ton of little applets, shortcuts, tweaks, tools, software, and even hardware that made my life on macOS easier. A lot of the tools I came to rely on do not exist on Linux, or at least not in that form (one thing you can say about the Mac as a platform: it has a fantastic indie dev community).
So over the past few weeks I looked for alternatives or even made my own. My criterion for an alternative was that it existed and that it was well supported. While you'll often find people on Linux who only look for FOSS (free and open-source software), I primarily want it to work, no matter if the source is open or not, or if the app costs money or not. Sure, if there is a viable FOSS alternative, I went for that, but I come from Windows and macOS so it's not as high on my list of criteria.
So below you'll find a list of my most-used apps (and some notes on hardware), and how I ended up replacing them, along with the thought process that went through my head.
(As a side-note: I run CachyOS, which is based on Arch Linux.)
- Raycast → Vicinae: Raycast was probably the app I opened up the most during any given day, both on macOS and the day it launched on Windows. Unfortunately, there is no Linux version (yet?), but fortunately, there is Vicinae, which is basically Raycast for Linux. It even supports (some) of the extensions available in the official store.
- Obsidian → Obsidian: Obsidian was quite easy to replace as it simply exists as a Flatpak.
- iA Writer → Apostrophe: The closest alternative I found to iA Writer was Apostrophe on Flathub. It is not as polished as the macOS app but gets there 90% of the way.
- DaVinci Resolve → DaVinci Resolve | KdenLive: DaVinci exists on Linux, but most YouTubers will tell you it's a bit of a pain to install. I still got it to run, but I also run KdenLive. It isn't as powerful, but I don't need much anyway. Also, I haven't done a YouTube video in a while, so...
- 1Password → 1Password: Easy to replace, just install the Linux version.
- Messaging → Beeper: Still on macOS I made the switch from one billion apps to Beeper. On Linux, Beeper is an AppImage and I dislike AppImages, but at least it exists natively.
- Discord → Discord | Vesktop: There are official versions of the app, but I am still torn on whether I want to use the official client or Vesktop. Vesktop is more powerful, but its smallest window size is not narrow enough, which is an issue with how I manage my windows.
- Microsoft Office → ONLYOFFICE: I started with the most obvious alternative, LibreOffice, but quickly changed to ONLYOFFICE, as ONLYOFFICE does pivot tables closer to how Excel does them and to how I am used to them. ONLYOFFICE also feels slightly more modern.
- Microsoft Outlook → Microsoft Outlook: There may be "native" alternatives, or I could just run it as a web app, but I ended up simply opening the website in the browser.
- Microsoft Teams → Portal for Teams: There is an unofficial client called Portal for Teams. It works.
- Stream Deck → StreamController: Elgato software and hardware are kind of a pain in the ass on Linux. I have the Stream Deck+, and for a long time used the XLR dock. But Elgato decided to not use any proper USB implementation, so I was unable to use it. I've moved my audio interface over to a Vocaster One (more on that later), and that just works. You can still use the Stream Deck for Stream Deck stuff, though don't think of running official software. Instead, I use StreamController to reproduce some of the functionality, with OpenDeck as an alternative I still want to look into. Although, for whatever reason, my Stream Deck freezes often and I have to replug it.
- VS Code → VSCodium: VSCodium is the telemetry-free alternative I should have started using on macOS already.
- Dia → Zen Browser | Google Chrome: I've always used Dia on macOS because I liked what it looked like and because of some of the quality-of-life improvements like CMD+Shift+C to copy. I couldn't care less about the AI stuff, though. For my personal use, I replaced Dia with the Zen Browser, and for work stuff I simply use Google Chrome. I also have Firefox, LibreWolf, and Chromium installed, and I might give Orion Browser a try.
- CleanShotX → Spectacle: I absolutely loved this app on macOS, and on Linux that functionality is simply a stock feature in KDE thanks to Spectacle. I am genuinely annoyed I paid for CleanShotX at this point.
- Lightroom → RapidRAW | DarkTable: I have one more month on my Lightroom subscription, and I am still a bit torn on whether I want to cancel it, simply because I bought so many presets in the past. But I now shoot on Fuji and have simply dialed in my Fuji the way I wanted anyway. Most of what I did with Lightroom was cropping and maybe removing some dust here and there. I still haven't picked an alternative though. I have RapidRAW installed but it doesn't support HEIF files (which is what the Fuji exports for JPGs), and Darktable, but holy fuck that software couldn't be more confusing if it tried to.
- Photomator → Affinity: Photomator (or Photoshop if you are more into that) was easy to replace, since you can simply run Affinity on Linux. And I have GIMP installed.
- Tailscale → KTailctl: Tailscale was natively baked into CachyOS, but it's missing the GUI from macOS. I thus have Ktailctl running.
- Croissant → SocialDesk: Croissant is an Apple-only tool to post stuff to multiple social media accounts at the same time. I don't know of an alternative, so I vibe-coded my own.
- Parcel → ParcelDesk: Parcel is also an Apple-only app to track shipments. I also vibe-coded my own using the Ship24 API.
- Focusrite Software → Alsa Scarlett GUI: Since moving from the Wave XLR Dock to the Vocaster One, I have 0 audio issues. Alsa Scarlett GUI is basically a graphical interface to control the Vocaster One or any other Focusrite hardware for that matter. To be honest, I don't use it, but I run it if I ever need it.
- chezmoi → chezmoi: A dotfile manager to keep your configuration files synced across machines. It exists on macOS, but I never had a need. I still haven't fully understood how to best use this.
- SoundSource → Easy Effects: Easy Effects is the alternative, and it's an incredible piece of software. I didn't use SoundSource personally, since one of the advantages of the Elgato audio stack was a little utility called Voice Focus. But I was able to reproduce this directly in Easy Effects, and even add more stuff on top. If you do ANYTHING with audio, get this. Seriously!
- Ghostty → Ghostty: I used Ghostty on macOS (with oh-my-zsh) and now use Ghostty on Linux.
- Karabiner Elements/BetterTouchTool → Input Remapper: If you rely on Karabiner Elements or BetterTouchTool, you'll like Input Remapper. It's not as pretty but just as powerful. I have copied my trusty CMD+Shift+C to also work in Chrome by emulating CTRL+L and CTRL+C.
- TextEdit → Kate: Kate is the native KDE version of TextEdit but make it nerdy.
- Apple Music → Cider: My streaming service of choice doesn't have a native Linux app, I don't want to use the shitty web app, so instead I bought Cider (so far, the only Linux app I spent money to get).
- TimeMachine → Snapper: For "backups" I went a completely different way: Snapper. It's basically snapshot rollback. I use Limine as my boot loader with Btrfs as a filesystem, and combined with Snapper, I can roll back a version whenever something breaks. For example, whenever I update via
pacman -Syu, Snapper makes a snapshot, and if something breaks, I can fix it easily. - Opencode → Opencode: I run both ChatGPT and Gemini in the terminal via their respective CLIs. Opencode is an alternative that I still have to look into.
- Logitech Software Thingy → Solaar: Solaar is a device manager for Logitech hardware. I have a Logi MX Master 3s, and this is how I dial in some of the features.
- SyncThing → SyncThingy: SyncThingy is graphical tray icon and wrapper for Syncthing. I have my /Documents folder synced and backed up via Syncthing to my home server and a cloud copy. It syncs across all my devices. It's basically homemade Dropbox.
- Mac App Store → Bazaar: There are several ways to get software on CachyOS. I mostly use pacman or paru, but if you want the closest Mac App Store experience, I recommend Bazaar, which is a software store/package manager for things found on Flathub.
- Activity Monitor → Mission Control: I got Mission Control as an alternative.
- Permute → Converseen: I am currently trying Converseen to batch process images.
- Transmit → Filezilla: The obvious alternative is Filezilla, and I hate Filezilla. Transmit is such a great piece of software, and one of the only things I am truly sad about losing. Filezilla is powerful, but so damn ugly. I recently learned I can just connect FTP servers directly in Dolphin (the Finder alternative that comes with KDE), so I might give that a try.
- UTM → Boxes: If you want virtual machines, get Boxes. It's by the people making GNOME so you know it's well supported.
- Preview → Okular: Not necessarily the same, but Okular is the closest I found so far to Preview's PDF capabilities.
- AirDrop → LocalSend: LocalSend is the closest alternative to AirDrop you'll find and what makes me not miss the feature in the first place. It runs everywhere, including macOS, so this is a no-brainer. Also, it somehow feels more reliable than AirDrop.
- iCloud Sync → KDE Connect: There is KDE Connect, and it works for some stuff. You can, for example, share your clipboard like that, but it's a manual intervention every time. Which actually makes me wonder why I bother with Apple anyway. Why can I not use the thing I bought together with other things I bought? Why must I buy more things to get the better experience? This whole experiment might make me switch to Android.
As you can see from this exhaustive list, most things either exist on Linux through official or unofficial ways or have a (sometimes better) alternative.
It's only when something is super proprietary that you may run into issues. For example, Adobe software. There are no official ways to install it on Linux. (Although there are methods to make it work via Wine which some people have had great success with.)
Or when a hardware manufacturer decides not to use standard solutions, like in the case of Elgato. This is where you either need to be an absolute coding genius (vibecoding won't work) or buy an alternative. I went for the buy-an-alternative path, since in that case you know it'll at least work properly. On that topic: my webcam at home is my Sony a7 IV. It has a webcam mode if you plug it in via USB, but I didn't get that to work. So instead I connect the camera via an Elgato Cam Link, and that works too.
Moving to Linux from macOS is doable. You just have to find the right replacements and alternatives. And this is the important part: to make the switch stick, you need to be willing to shift your workflow around. If you try to recreate your old macOS (or Windows) setup 1:1, you will have a bad time. Every OS change comes with a fundamentally different way of operating, and that’s something you have to lean into. Thankfully, most apps are replaceable helping with this move.