I switched to Linux as my main machine, and I love it

I switched to Linux as my main machine, and I love it

G'day, Internet! It's been a while since I tried moving away from MacBooks. I've tried multiple times over the last decade, but the truth is, I have never been able to give up macOS since I first started to use it in 2012. Something always went wrong. Once, I got a very cheap ThinkPad for $300, and its screen was so trash that I couldn't read on it in any light. Another time, I tried ElementaryOS, and it kept freezing occasionally, ruining any work done without auto-save. Then, it was Ubuntu's default desktop environment that simply felt outdated design-wise.

But everything changed when I got my beloved Lenovo ThinkPad X1 Carbon Gen 10! This time, when selecting the distributive, my eyes fell on Pop!_OS because I wanted to get System76 Lemur Pro at first. However, it is quite on the pricey end. And pricey wasn't what I was looking for. After casually spending $5500 every few years on top-end Apple machines, I got tired of this. I've already long ago ejected myself from the Apple ecosystem by switching to Android and buying a gaming PC to run VR games, so I had zero benefit in trying to share a Numbers sheet with someone who didn't own Apple devices (lmao try that, and then switch back to Google Sheets or Microsoft Office).

There are so many unopened ThinkPads on the market that sell for cheap because they are from companies that needed to quickly liquidate a large stock. I got my 32GB RAM and Intel i7 for something around $750. At first, I had no idea that Gen 10 was one less than the newest ones (well, technically, it's Gen 12 that's the newest one now, but who cares?) — and it was a pleasant surprise when I found out. Almost a top-end laptop for this low? Hell, my Apple Care+ was more expensive over the years! And if this laptop dies? Forget it! I'll buy a new one if it's unrepairable and still be $3000 up compared to Apple devices!

I only pull out the MacBook from its storage when I need to build a mobile app

Now, there is an obvious caveat: what about the performance? After all, Apple M processors rock (lmao, pun unintended but very welcomed); how can I give up something like this? The truth is, most of the software I run is supposed to be running in browsers or on low-end servers anyway, so I must be scrappy to begin with. You can find my tech stack here.

After spending over a month building things on Linux, I can safely say that I don't need 96GB of RAM and a top-end CPU. I also don't need a dedicated GPU — for that, I SSH into my gaming rig and run whatever I need there (I have an RTX 4070Ti there, which bent something in the motherboard when I was putting it in). When I want to game, I simply pull out my Quest 3, connect to the gaming tower sitting in the closet (I don't even have a display there, lol), and play whatever I want to.

Literally, the only time I switched back to macOS was to work on iOS and Android apps. For that purpose, MacBooks are still undefeated. It is possible to run multiple Android emulators, iOS simulators, and browser windows and have it all update on the fly when I write code with react-native-web. I also run Immersed and have 5 virtual screens when working on the MacBook, which literally makes me feel like Johny Mnemonic but without the gloves bullshit (handtracking ftw).

Literally, my wife and I, when I'm zooming from the Metaverse

I thought that when I upgraded to 90+ GB of RAM on MacBooks, I'd never worry about RAM again — and the fact is, I haven't. On Linux with 32 GB of RAM, I also don't care — there hasn't been a single time when I felt like checking whether I'm running out of RAM or not. ThinkPads and Pop!_OS is a match made in heaven and I'm all here for it.

And you know what? I have never felt this happy about how snappy the OS is. Remember when Apple presented its silicon, and everyone went crazy about how fast the apps launched? Yeah, I loved this, too, for a few months while this was working. However, only switching to a truly snappy system, I can now safely say: Linux did to macOS what Android did to iOS. While Apple's competition has been de-facto "the slow ones" when compared side by side in the past, I can now no longer use iPhones or MacBooks as they feel slow. I absolutely hate it when the machine I use thinks slower than me. Hello? I'm a piece of meat in a bone box. Silicon, on the other hand, works with the speed of light.

Take your bullshit animations that take a second to switch between screens and shove them up there. Why can't I speed up my animations on iOS? Why do the animations on macOS take so long? Why do I need to wait when I open Discord, Notes, Chrome, Safari — or anything else — on my brand new M3 processor MacBook? And if you think that you don't experience this — that's because you haven't even seen the true speed yet. Pick up a good enough Linux-compatible machine and put Pop!_OS on it. A few Gnome extensions later (that get installed from a browser like you would a browser extension), you have the perfect setup. And Android? Well, the first thing I do when I pick up my new device is speed up the animations at least 2x — this makes the apps open fast as hell. Keep fanboying Apple, and keep losing the time that machines were supposed to save you.

Minimalistic? Yep, only the stuff I need!

Now, you might have noticed that I dislike Apple products — that's because I test them every year as my daily drivers for at least a month before returning them. Every year I buy the flagship iPhone, every MacBook release, I get the top-notch machine, and every time I've returned everything but MacBooks. This time, it looks like the MacBooks are going to come home to the factory (or, better — to another customer without the "refurbished" marking). The reasons for iPhones were simple: too pricey for a subpar camera (compared to Samsungs or Pixels, according to blind tests) and a lot of micro-freezes (you don't notice them until you use an Android without any micro-freezes). The reasoning for MacBooks? Well, let me share my notes below, both for and against Linux and macOS, with a sprinkle of Windows 11. The order of the notes is chronological. I've been writing them while using ThinkPad as my daily driver.

Keep in mind that I've been managing Linux servers running Ubuntu for at least a decade, and using a terminal is second nature to me. Whenever I encounter an issue with Linux I usually duckduckgo it or use ChatGPT or Perplexity to search the answers for me. Most of the time, I simply copy and paste the commands into the terminal or press the "enable" button for Gnome extensions on their websites.

This is literally my perfect setup with everything I need

A quick diversion toward Windows 11. When I got my ThinkPad, it came with Windows 11 pre-installed. When I got rid of all the default apps (like I did every time I got a new MacBook, why the hell the Dock is always full of crap I'd never use?), it was one of the cleanest OS experiences I've ever had. Main events on the left, notifications on the right, dock on the bottom with the most useful apps — and what is that? Oh. My. God. Copilot that is basically free GPT-4? And it is aware of the Windows context? I no longer need to sift through dozens of responses from random Microsoft forums to do stuff with my OS?

Apple, you gotta pick up your AI game — I know that your fanboys would never even experience this godly power of having all-knowing AI navigating you with anything you want one click away, but no one would ever want to give this up now to switch to macOS. I want Copilot to follow me everywhere. It is so much better than searching on the web or even opening ChatGPT or Perplexity in a separate window. Copilot is always here for me, unlike anything I've experienced before with technology.

Now, Windows 11 is sexy in a very weird way. It is snappy. It feels so much more natural than anything that Apple builds. I feel both pleased by the UX and free from the limits Apple imposes on its users for no reason whatsoever. macOS now feels to me how Windows 8 felt when I used macOS 10. Again, both Linux and Windows did to macOS what Android did to iOS before. Using macOS and iOS feels like talking to a boomer.

For the longest time, I was sure that my gaming rig didn't support Windows 11 due to some component missing on the motherboard, but then I updated my BIOS and all of a sudden, it worked! I picked up a 2TB SSD and learned everything about NVM.e. Again, everything is so cheap compared to anything I buy from Apple. I've always thought that I would be sacrificing compatibility or performance when opting for non-Apple products, but so far, everything's been better, not worse!

I know that people shit on Windows 11 a lot on the Internet, but I'm coming from macOS and using Windows 10 only for gaming. I can attest that Windows 11 is so much friendlier than Windows 10, no matter what you feel.

My notes in chronological order

  • What's up with scrolling in Firefox? It feels like I'm trying to scroll through a bowl of mashed potatoes when using the "smooth" option, and feels like I'm using a 90s-era terminal when it's not "smooth." I ended up installing Edge (I know, I know, I would have never thought I'd main Internet Explorer again). I haven't seen any scroll issues anywhere else on the system.
  • I dual-booted Linux and Windows to always have the option to run a random .exe file from the Internet. It actually saved me a few times as this was what I needed to do. I know you could run Wine, but I really don't want to bother. I had a few troubles with the bootloaders, but this answer on the Internet fixed them for me.
  • I also love using Windows 11 because it feels like it was made specifically for my ThinkPad. Everything works flawlessly from the very beginning. Even though I boot into it rarely, every time I see the wallpaper, I'm so pleased for some reason.
  • At first, I didn't like the screen too much. The resolution is too low for my liking (I think 1080p?) However, After using this screen for over a month, I can no longer come back to MacBook glossy screens. See, my ThinkPad's screen is matte and it makes so much difference for the eyes. No glares even in the brightest sun, and it is so much easier on the eyes. Now when I use MacBooks, I feel like there is an extra layer of glass between my eyes and the content. I could buy a 4K screen ThinkPad, but I won't because I've heard that it affects the battery too much.
  • Cleaning this screen is so much easier. I have tried many different cleaning liquids for MacBooks, and none can clean the MacBooks without leaving smudges. Apple Store clerks couldn't recommend anything that works well. I don't know how the screens are built for MacBooks, but clearly this is utter bullshit. I can literally throw soapy water at my ThinkPad and wipe it down with a used paper towel — and it's as good as new! What the hell? I probably spent hours over the last decade cleaning MacBook screens, and all this time, the Linux gang had it this easy?
  • There are no fingerprints at all. Neither on the keyboard nor on the display! I touch my display a lot (Apple fanboys would never understand this). The touchscreen is probably one of my top five favorite features on the ThinkPad. It feels so good and natural to pinch to zoom and scroll content with the touchscreen. Once, I was sitting in a crowded coffee shop, and a woman sitting to the right of me was shocked when I put my finger on the screen and scrolled the webpage.
I mean, she could have received a shocking text, too, but I'd like to believe she saw me scrolling, and then the whole cafe stood up and clapped
  • Previously, I have never been able to use any fingerprint sensor on a Linux laptop. This time, though, I used this article, and a few terminal commands later, the fingerprint sensor just started working! It works spectacularly well in the shell, 1Password, to log in, etc. I had to get used to the reader, though. It is pretty small on the ThinkPad, and I have to touch it just right for it to work. If it doesn't work, entering my password isn't a big deal.
  • I love using em dashes (as you might have noticed). On macOS, it's as simple as typing alt+shift+-. On Linux, though, I had to establish a compose key (I put it on the caps lock key). What's a compose key? I have no idea, but when I press it — I can type the "-" symbol three times and get an em dash.
  • However, when I need an emoji I have to use ctrl+shift+e, then go through the list of emoji without a search bar. I now understand why Windows or Linux users don't use emdashes or emoji that often.
  • Gestures and autotiling on Pop!_OS are great. Gestures are similar to macOS, but not the same. However, I ended up never using them anyway, as the touchpad is way worse on the ThinkPad when compared to MacBooks. I now use short keys instead and almost never move my hands off the keyboard. Feeling like a true hacker!
  • I had no driver issues at all. Like, none. I installed Pop!_OS from a USB stick and everything just worked. I know it was similar to Ubuntu a few years ago, but for some reason, I expected stuff to break with a non-mainstream distribution.
  • At first, it was difficult to use touch-to-tap (I prefer this to click-to-tap), but I got used to it relatively quickly. I don't know how to describe this struggle, but decided to note it anyway.
  • The keyboard, the pointing stick, and the "mouse buttons" are so much nicer than on any MacBooks I've used or on the Apple Magic Keyboard (both generations). I cannot use Apple keyboards anymore because they feel like toys. It is so satisfying to type that I want to do it more.
  • I like vertical screens more than macOS horizontal screens (or "workspaces" as they are called on Linux). For some reason, it feels way more natural, and positioning them vertically feels like a better use of space. Switching between screens is much faster on Linux too.
  • Bluetooth turns off after the screen is locked (maybe it's a security feature?) and I couldn't find a way to disable this. My Pixel Buds Pro also don't reconnect automatically until I manually go through the menu to reconnect them (unless I've only been using them with the ThinkPad).
  • The top bar is kind of annoying on Pop!_OS. I ended up disabling it almost everywhere with this extension. I use auto-tiling almost all the time, and all apps are full-screen by default. I do have to toggle auto-tiling on and off every time after the screen locks with super+Y, but that's not a big deal.
  • I hate that Edge brings up a context menu every time I select text in a very specific way (I couldn't find what way exactly). I have to "right-click" on the "mouse button" to dismiss it. Otherwise, it doesn't dismiss, for some reason.
  • Keep in mind that I use the Colemak keyboard layout, and I blind-type. It was so nice to finally see the Colemak layout as a first-class citizen in an OS. I selected it in the very beginning when I set up Pop!_OS and have been using it since. No gimmicky "US (Colemak)," if you know what I mean.
  • There is no shortcut to delete a whole line before the cursor (cmd+backspace on macOS). It is quite annoying both on Linux and on Windows. Even though I love dedicated keys for "home" and "end", I still haven't figured out an easy and fast way to delete the whole line.
  • I end up using Edge's Copilot a lot. Like, so much that I love the fact that it occupies a separate button in the browser's top panel. I don't google or duckduckgo anymore — I either open Copilot or ChatGPT or Perplexity, depending on what I'm trying to do.
  • The Super key bringing up search is something that Spotlight on macOS should have been. Both the Start key on Windows and the Super key work way better than Spotlight. I have no idea why, but for some reason, Spotlight has always been slow and never brought up anything relevant for the last few years. I thought it was due to some settings or me messing up macOS, but this happened over multiple clean installations of macOS.
  • Battery life on Linux is bad. Like, "6 hours of use bad." I'm very spoiled by the MacBook 12-hour work days. However, I haven't run out of juice on my ThinkPad once in the whole time using it. I always was either on the power or had my 10,000 mAh power bank on me. I ended up installing this tool that gave me an extra 1.5-2 hours of battery life, which is nice.
  • Bluetooth settings are a mess. I have to open a dropdown, go to settings, open the device I want to connect, then press the "connect" button. However, I fixed this with this extension, which also shows the battery levels of the connected devices.
  • VSCode doesn't close the window on ctrl+w. However, it does close the window on ctrl+shift+w. Took some time to get used to, but I figured it out eventually.
  • Google Cloud Services web UI feels faster on Edge on Linux. I have no idea why, but all the requests seem to take less time as compared to Firefox, Chrome, Arc and Safari on macOS.
  • In fact, this is a common theme that's running through my experience with Linux. Everything feels faster and snappier than on macOS. Like switching from 90 FPS gaming to 120 PFS gaming type of faster.
  • The touch-screen works flawlessly with Pop!_OS. Whenever I want to touch the screen to scroll, zoom, select, move, whatever — it's completely natural and smooth. Helps a lot with filling out long forms and some other types of content.
  • However, when switching from a touchscreen to a touchpad or mouse, the cursor is invisible until you change focus to another window. This is a weird bug, but not too critical (similar to having to press super+y twice on every login to the system).
  • WiFi is super fast! Unlike macOS, it finds and connects known hotspots so instantaneously that it feels like magic. I have zero clue why WiFi is so bad on macOS — but over the last decade using WiFi and switching hotspots has always been a painful experience for me on the Apple device.
  • Once, my touchpad started to have weird lag. However, a simple reboot fixed this completely, and I've never experienced it again.
  • Almost all the apps have a Linux version. Even Mailspring is here, which is what I use for my daily email driver.
  • OK, you might be exhausted from me mentioning the touch screen, but I'm going to say it again. Not having a touch screen is a handicap that Apple forces on its users for no reason but the company's bottom line. After you start using touch screens on laptops, it's impossible to come back to non-interactive screens. Hell, I even use touch screens in VR when using Immersed with my MacBook! Apple Vision Pro also has this, by the way.
  • Once, I opened the laptop on the front seat of my parked car behind the wheel and used the 180 hinge to comfortably type. I have never thought about 180 hinges being useful until that instant. Now I'm a fan and use it a lot.
  • I don't wipe my screen or keyboard that often on the ThinkPad. It simply doesn't collect fingerprints, or they are invisible to the naked eye. With MacBooks, I have to clean them at least every 2 weeks, but ThinkPads last way longer and are in good shape even though I actively use the touch screen. There is no touch screen on my MacBook but it looks filthy after I don't clean it for a week.
  • Metamask extension in Edge on Linux is amazing, especially with auto-tiling on Pop!_OS. The popup windows feel so natural when they are auto-tiled.
  • Zoom is janky on Linux (or Pop!_OS with auto-tiling enabled). I haven't figured out how to move Zoom windows and they seem to always "float" on top of all other windows. I hate using Zoom in general, and now I hate it way more.
  • There were three occasions when Linux froze, and I had to reboot it. All of my work is in the cloud, so I didn't end up losing anything. Granted, over the last year, I had at least 5 times when macOS did the same to me.
  • My ThinkPad experienced extensive screen ghosting (partially due to the fact that I use a dark theme everywhere). I fixed it with this extension, and now ghosting is as bad as on MacBooks. What, you've never noticed your MacBooks ghosting? Well, lucky you! Don't search the web for what this is, you cannot unlearn this or unsee this, and you will suffer forever because now you notice it everywhere.
  • Once, the Bluetooth got turned off, and I had to reboot because I couldn't turn it back on. After the reboot, this never happened again.
  • I'm slowly getting used to the pointing stick (even though the touch screen and mouse are still simpler to use).
  • The carbon and magnesium combo is so much more comfortable to rest my hands on than MacBook's aluminum. The machine being lightweight is a treat to use on laps (it's super light). My ThinkPad still feels extremely sturdy and well-built, unlike the XPS-13 that I tried for a bit.
  • I have spilled instant noodles all over my ThinkPad, then I wiped it and dried it — and it is as good as new! When I spilled a cup of water on my MacBook the last time, it shorted the direct high-voltage pin that went to the display directly to the CPU, frying everything, including the soldered-on SSD. Why are these pins so close together, uninsulated, and put right beside the hole where the water goes in when you spill it? I have no idea.
  • I don't miss automatic picture-in-picture from Arc because I keep using YouTube for background music, and I hated auto-pip when turning on the Lofi Girl live streams.
  • Some dev tools work way better on Linux. E.g., Studio 3T seems to be better suited for Linux than for macOS, partially because all keyboard shortcuts work.
  • For god's sake, the "delete" button actually deletes stuff. I got so tired of using the "backspace" button to delete things on macOS.
  • I finally got rid of the unergonomic Apple Magic Keyboard, and now I'm using a more ergonomic split keyboard (Kinesis Freestyle 2). It is way easier to type and way better than what I had before. Also, all the keys are pressed by the correct hand and fingers (I had some trouble with "b" but got over it).
  • Every time I pull out my MacBook in public, I feel bad because it's literally what everyone has; but when I pull out my ThinkPad with the pointing stick, I love it. It's almost like being a character in Mr. Robot — especially running Linux as my daily driver. Something about having a free, open-source system pleases me. For some reason, I trust it more than Windows or macOS.
  • The webcam has a built-in cover, same with the mic — built-in hardware shut off! I have no idea why Apple doesn't implement a thing like this. In fact, Apple actively persuades you not to use the third-party web cam covers, which is kinda sus.
  • There is no quick-look app alternative on Linux. I got so used to pressing the spacebar to inspect files that I feel sad every time I'm doing this by accident on Linux, and nothing happens.
  • The Immersed app doesn't have virtual displays on Linux, so I don't do development in VR on Linux, sadly. I want them to fix it sometime soon.
  • Edge vertical tabs conflict with the dock on the left side in Pop!_OS. I don't know how to fix this, and frankly, I don't care enough.
  • It is difficult to remember whether to do ctrl+c or ctrl+shift+c to copy in the terminal (same with pasting). I run fish shell, and it fixes the pasting for me, at least.
  • Moving hands from mouse to keyboard and back certainly takes more time than moving between touchpad and keyboard. That's an issue because I've grown so used to touchpads on MacBooks that it's difficult to use mice now.
  • However, this combo of split keyboard and mouse, for some reason, feels way more ergonomic and "natural" than a touchpad where the hands are constantly crouched. Also, I use a standing desk, so this feels even more natural in terms of posture. I also use a vertical mouse (Logitech Lift) which took me a bit to get used to, but I overcame it.
  • VSCode AI-generated commit messages work on Linux! For some reason, they never worked for me on macOS.
  • Jumping between workspaces in the workspace overview mode is useful because they are large enough for me to read the content on the workspaces. On macOS, the content in the workspace overview is so tiny it's impossible to pick up what's going on in each of them.
  • it is so nice to have systemd services on the machine I'm using. After years of managing them on server-side machines, I can simply do systemctl enable PostgreSQL --now and get it running forever on my machine without any extra setup.
  • Having used the screen with square corners for over a month, it is now evident that rounded corners for displays are complete bullshit. Apple, you need to fix this.
  • VSCode Copilot seems to be faster and more accurate on Linux, for some reason.
  • Mailspring works way better. Everything feels instant — getting messages, caching messages, etc. Every time I open Mailspring on macOS, I have to wait for a bit for it to sync.
  • The mobile hotspot connection to my Android phone is instant, unlike on macOS. If there are no known hotspots around but my Android phone, I don't even have to check the WiFi menu dropdown. I know that my ThinkPad is connected!
  • Oh. My. God. How fast is the workspace management with shortcuts? You almost don't notice it! And when I dragged and dropped a window to make a split-screen workspace, it felt so fast. The animation was almost unnoticeable!
  • Closing apps is instant on Linux, unlike on macOS, where you have to wait for apps to close. I have no idea why I have to wait for the app to close. Waiting is a running theme in my macOS experience; I have to wait a lot on macOS.
  • A bunch of photos was over 10 MB when I needed to upload them, so I asked ChatGPT how to resize them all from the terminal. It gave me a terminal command, I ran it, and everything resized nicely! I know that I could've done it on macOS too, but I'd probably need to install a binary with homebrew or something.
  • For some reason, it feels so natural to use the "end" and the "home" buttons. I end up using them a lot on the web, in code, when typing, etc. I have never used them on macOS.
  • Around 90% of the time, when I open an app from the Super key menu or from the dock, it launches instantly. No, you don't get it. I mean instantly! No animation, no lag, nothing — it's just there. This is what I was expecting from the M processors, especially after all the YouTube reviewers showed the almost instant opening of the apps (and that was gone in a few months).
  • GIMP is unusable (just like the software it's cloning — Adobe Photoshop). I ended up installing the Figma desktop app on Linux, and I love it.

Conclusion

I can't believe how the world has changed in the last 5 years or so and how slow Apple is at changing its ways. Having AI integrated as a first-class citizen in an OS is so clutch it's almost impossible to come back to not having it. This is similar to the search in the "help" context menu in every macOS app — I missed it severely on Windows and Linux right until it was replaced by a better solution — Edge's Copilot.

If you asked me 5 years ago (or even a couple of years ago when M1 came out) if I'd want to switch to Linux or Windows, I'd laugh at your face. The fact was that Windows 10 was ugly, and Linux was underwhelmingly unusable. And yet, it is the beginning of 2024, and I'm maining Linux on a ThinkPad and Windows 11 on my gaming rig. I'm using Meta Quest 3 as displays and Samsung S22 as my mobile phone (I'll probably switch back to Google Pixels soon enough).

My servers? You guessed it, all run Linux. My collection of Raspberry Pi's? You guessed it, all run Linux. My main development machine? You know the drill. Even this blog post and graphics for it is done on Linux.

However, keep in mind that I've been a software developer my whole life and spent the last decade working with a variety of Linux distros on VPS machines. I am as capable with terminal as one can reasonably get. I'm not an average person switching from macOS to Linux. If I see an issue, I am capable of fixing it quickly. Fortunately, AI is bridging this gap between me and the average consumer. Soon, everyone would be able to run and customize Linux as much as they want effortlessly.

Now, I have a hypothesis about why Linux actually works better than macOS nowadays — the answer is corporate greed. See, there is a difference between software developed to serve the bottom line and open-source software. If before FOSS has always been inferior, nowadays it's the other way around due to how much pressure developers get from management and business people. When the incentive is the company's bottom line and shareholders' profits, there is no space for individual consumers. When you simply want to build a tool that fixes a minor pain (e.g., a Gnome extension) — you just build it and open source.

My Linux machine is almost free of bloatware that runs in the background, making it use as much CPU and RAM as efficiently as possible. And my MacBook? Sorry, can't check; Spotlight is synchronizing again, here goes my workday.

I feel free. I have fully ejected myself from the Apple ecosystem. I have escaped Apple's slavery and compulsory anal raping that you sign off on when clicking the "I agree" button. If I want to share a doc with contributors across the world, I do this with Google Docs. If I want to share a password, I use 1Password. If I want a secure email, I use Proton. If I need a VPN, I use NordVPN. If I need continuity — yep, there's an app for that for Android and Linux.

And gods bless the Bluetooth software developers for Linux. My Pixel Buds Pro, keyboard, and mouse connect instantly to the Linux machine, unlike macOS. Throttling the performance of third-party periphery has been a viable strategy for Apple for the longest time. Not anymore.

Apple won't get a dollar from me again.