Switching from Mac to Linux: one dev's painful but addictive first two weeks
- https://www.youtube.com/watch?v=kSuMjLbjqsI
- Original title: Trash VS Linux | TheStandup
Trash (chief snack officer) recounts his "hell on earth" first week moving from a decade of macOS to Linux on an ancient 2015 MacBook Air: dead Wi-Fi drivers, hand-typing 200-character commands from ChatGPT on a second machine, a USB Ethernet adapter that didn't work, and distro-hopping through Fedora → Mint → Pop!_OS before landing on Hyprland. By week two he's "Linux pilled" — dotfiles maxed, Neovim + Wayland + Waybar, and addicted to configuring everything himself. The back half turns into Casey Muratori explaining why Linux's real weak spot is binary distribution, and why Win32 and the browser are the only durable software substrates.
The distro-hopping nightmare
Trash wiped macOS off a 2015 MacBook Air and started with Fedora — loved the defaults (hot corners matched his Mac workflow) but could not get Wi-Fi drivers working. Workaround: ChatGPT open on a second Mac, hand-typing long commands; bought a USB Ethernet adapter (2-day wait) that also failed. A half-installed driver state left packages mismatched and broke everything. Switched to Linux Mint Cinnamon ("ew" on first boot), still no internet. Burned through free ChatGPT credits, paid for the $20 plan ("free Linux already cost $20"), gave up for 48 hours, then went Hail Mary on Pop!_OS — drivers worked out of the box, but he hated the "rocket ships, looks like it's for kids" aesthetic (running gag: he collects Pokémon and eats candy on stream).
Discovering Hyprland and dotfile maxing
Installed Hyprland with no idea what it was. First shock: only a terminal opened (super+enter by accident), no status bar, no browser — in Hyprland everything needs a config. Tiling-by-default confused a mouse-driven Mac user; middle-click paste on the trackpad meant he was accidentally pasting terminal commands for 3 days before googling it. He hand-wrote most config from Stack Overflow / Reddit dotfiles (pre-AI style) to actually learn it, occasionally asking ChatGPT when stuck. Now fully bought in: dotfiles on GitHub, Neovim + Telescope, Waybar (compact, not edge-to-edge), Yazi file manager, Lua Hyprland config, neon Demon Slayer theming, hotkey app launchers. Next adventure: wallust (Rust tool that themes the desktop to match the wallpaper).
Why Trash got "Linux pilled"
Same dopamine as first learning Vim in 2018 — wanting to make the machine truly his own. Contrasts Linux's full configurability with Windows bloat/ads and macOS's weak Spotlight and "worst software ever" Finder. Plans to buy a new machine, game on it, move his work computer to Linux, and speedrun more distros (Arch — the "ultimate neckbeard one", NixOS because coworkers love it), but expects to settle back on Fedora.
Hardware advice
Avoid discrete Nvidia GPUs on Linux — poor driver support, and the AI boom hasn't improved the consumer-hardware situation much. Prefer AMD or Intel integrated graphics. Safe bets: System76 or Framework (Framework is designed for Linux, drivers just work). Lenovo runs Linux fine technically but got a negative review for hanging up on customer service. Casey notes AMD laptops/desktops "all work fine." Prime flew 6 hours (Rapid City → Miami) coding in Vim with many LSPs + YouTube on one charge.
Casey's core argument: binary distribution is Linux's real flaw
The number-one problem for the average user: you cannot reliably distribute a binary on Linux. The kernel API is stable and clear (Linus "cracks the whip" — never break it), but userland has never agreed on "here's how to ship a binary that just works everywhere." Everything routes through upstream package repos or containerization (Docker, Flatpak, Snap, AppImage). This is downstream of many people shipping their own userland — a strength (lets DHH make Omakub, lets Mint/Pop!_OS/NixOS exist) and a weakness (incompatible, even across revisions). The fix for outdated packages: add the upstream project's own repository as a preferred source (one line, but you inherit that source's trust/security posture); otherwise build from source or grab a Flatpak/AppImage. Casey: it's worse than Windows here, and probably won't get better without a political + technical solution to make userland "a pit of success rather than a pit of failure."
Win32 and the browser as durable substrates
The only software substrates that have persisted: Win32 and the web browser. A sane Win32 app compiled 64-bit runs on basically every Windows version and now runs seamlessly on Linux via Wine/Proton (Casey "couldn't tell the difference" running his Windows tools under Wine). Newer Windows APIs are not reliable — hence he says "Win32" not "Win64." macOS is also bad at stable binaries (notarization friction). The browser is the other escape hatch: web apps run everywhere because Google/Firefox maintain current browsers for every distro — so a Chromebook-style web-only user has zero issues. Riff on Gary Bernhardt's "Birth & Death of JavaScript" (kernel becomes a VM for JS as the ultimate pre-sandboxed answer). Linux-native is where you're stuck in containerization land. The episode includes a sponsor segment (CodeRabbit / "Merge Cop") and a DirectX nostalgia tangent (DirectX 8 startup once gave Prime a wrist injury).