I recently moved to Mac. Productivity-wise, I get more done. The hardware is good, the battery actually lasts, video calls don’t stutter, and I no longer spend Saturday afternoons hunting down Wi-Fi firmware packages. For most of the day-to-day stuff, I genuinely feel like I never left Linux — the terminal is there, the tools are the same, brew fills in most of the gaps. It’s fine.
But Linux spoils you in ways that are hard to explain until they’re gone.
The open source gravity
The biggest thing isn’t a feature. It’s a culture.
Linux is predominantly the OS of the open source crowd, and that has an effect that’s easy to underestimate. When you hit a wall on Linux, you can almost always find an answer. Not a Stack Overflow answer from 2011 that half-works — an actual fix, a GitHub issue with a workaround, a forum post where someone hit the exact same problem with your exact hardware and figured it out. The community is enormous and relentlessly solution-oriented because most people using Linux are using it on purpose. They chose it. They’re willing to dig.
Mac has a large community too, but it skews different. A lot of Mac questions get answered with “have you tried restarting?” or “go to System Settings and click…” — which is fine if you don’t care how it works, but not if you’re trying to understand why something is broken or rig it to do something it wasn’t designed for.
On Linux, you could almost always find someone who had gone further than you and left notes. On Mac, you sometimes hit a wall that’s made of closed-source binaries and vague KB articles that tell you nothing useful.
Package management that makes sense
apt and pacman are genuinely great. The repositories are comprehensive, packages are versioned, dependencies are resolved, and you rarely think about it. brew is fine — I use it every day — but it’s not the same. Formulae go stale, casks are inconsistent, and brew installing something under /opt/homebrew while something else expects it under /usr/local creates friction that you just don’t have on a well-maintained Linux system.
On Arch, if I wanted a piece of software and it wasn’t in the official repos, the AUR almost certainly had it. The AUR alone probably saved me hundreds of hours. There’s no Mac equivalent. You’re either waiting for a brew formula to get updated, compiling from source yourself, or accepting that you’re running an older version.
Filesystem freedom
On Linux I had full control over my filesystem layout. I could mount things where I wanted, use whatever filesystem I wanted, and nothing second-guessed me. macOS has SIP (System Integrity Protection), which is understandable from a security standpoint, but it means certain directories are just off-limits, and some things you’d do trivially on Linux require either disabling SIP or finding an approved workaround.
The read-only system volume in modern macOS is the same story. It makes sense as an engineering choice. It still occasionally makes me want to throw my laptop.
Window management that doesn’t need a third-party app
This one still baffles me. Linux desktop environments — even relatively basic ones — have had tiling and snapping worked out for years. GNOME, KDE, i3, sway — pick your poison, you’ll have sane window management out of the box.
macOS in 2026 still ships with a window manager that assumes you want to drag rectangles around a screen. You can snap windows to halves in Sequoia now, which is something. But anyone coming from a properly configured Linux WM will feel like they’ve been handed a Fisher-Price toy. I run Aerospace now and it solves most of it, but the fact that you need a third-party tool for basic tiling is a strange gap in an OS that costs what Macs cost.
Customisation without guilt
On Linux, customising your environment is the point. You’re expected to rice your setup, swap out components, write scripts that hook into everything, and generally make the OS yours. Nothing about this feels wrong or fragile.
On Mac there’s an underlying sense — reinforced occasionally by Apple’s decisions — that you’re a guest in someone else’s house. You can move the furniture, but you shouldn’t take the walls down. System extensions get deprecated, private APIs stop working, something that worked fine on Ventura quietly breaks on Sonoma. The platform doesn’t meet you where you are; it meets you where Apple decided you should be.
The joy of a clean install
On Linux, a fresh install is genuinely fresh. And I mean that literally — you can bake your entire setup directly into the ISO. Boot it, click install, walk away, and come back to a fully configured machine. Everything: packages, dotfiles, services, users, partitions. No post-install script you have to remember to run, no second phase. The installer just does it all. Reinstalling a Linux machine felt almost satisfying.
Mac has Time Machine and iCloud, and they work fine. But restoring from a backup isn’t the same thing. You get your stuff back, yes, but you also get everything else — the accumulated junk, the forgotten login items, the apps you half-uninstalled, the preferences that made sense two years ago. It’s a xerox of your old machine, not a clean one.
You can do a clean Mac install and then install things manually, but macOS isn’t really designed around that workflow. App Store apps, casks, system preferences spread across a dozen panes, license keys for paid apps you half-remember buying — it’s fiddly in a way that a clean Linux reinstall with a good dotfiles repo never is. There’s no brew bundle file that captures everything, no single source of truth for your system state. You inevitably remember something you forgot two weeks later.
Keyboard remapping shouldn’t require a dedicated app
I use an external keyboard that wasn’t designed for Mac. On Linux, remapping keys is a few lines in a config file — xmodmap, keyd, udev rules, whatever fits your setup. It’s text, it’s version-controllable, it lives in your dotfiles.
On Mac I ended up using Ukulele to create a custom keyboard layout, which works, but it’s the kind of solution that reminds you you’re working around the platform rather than with it. A graphical tool to produce an XML file that macOS will deign to load as a keyboard layout — it’s not hard, but it’s not the clean, composable approach you get on Linux. And if you reinstall, you have to remember to copy the layout file across manually, because nothing in the standard backup flow thinks to ask about custom keyboard layouts.
The things that don’t miss me back
To be fair: I don’t miss fighting GPU drivers. I don’t miss Bluetooth that required ritual sacrifices to connect a headset. I don’t miss the printer situation. I don’t miss application windows that assumed a certain desktop environment and looked wrong everywhere else. I don’t miss the fragmentation across distros making it hard to share setup instructions with anyone.
The move to Mac was the right call for where I am now. The hardware is too good, the app ecosystem is too useful, and the time I was spending on Linux maintenance was time I wasn’t spending building things. But I notice the gaps. The open source gravity most of all — that feeling of knowing someone has been here before you and left the path marked. Mac is polished in ways Linux isn’t, but Linux is open in a way Mac never quite manages to be.
I still have an old ThinkPad running Arch in the corner. I’m not ready to fully let go.