TL;DR: **** A seasoned developer shares a decade of real-world experience coding across Windows, macOS, and numerous Linux distros (including Ubuntu, Arch, NixOS, Omakub, and Omari), highlighting the trade-offs between convenience, control, and productivity.
📋 Table of Contents
Jump to any section (17 sections available)
📹 Watch the Complete Video Tutorial
📺 Title: I Tried Coding on Every OS // My Thoughts
⏱️ Duration: 1455
👤 Channel: ForrestKnight
🎯 Topic: Tried Coding Every
💡 This comprehensive article is based on the tutorial above. Watch the video for visual demonstrations and detailed explanations.
In the ever-evolving world of software development, your choice of operating system can dramatically shape your workflow, productivity, and even your sanity. In this brutally honest, deeply personal account, a seasoned developer shares over a decade of hands-on experience coding across Windows, macOS, and a wide array of Linux distributions—from beginner-friendly Ubuntu to bleeding-edge Arch, NixOS, and the new hype around Omakub and Omari.
This isn’t a benchmark-driven comparison or a corporate whitepaper. It’s a real-world chronicle of triumphs, frustrations, custom rices, dual boots, virtual machines, and the eternal struggle between creative control and plug-and-play convenience. If you’ve ever wondered, “Which OS should I use for coding?”—this guide extracts every single insight from a developer who’s literally tried them all.
Why This OS Experiment Matters for Developers
The speaker begins with a tongue-in-cheek declaration: “Windows sucks, Mac OS sucks, everything sucks other than Linux.” But this isn’t just edgy humor—it’s a reflection of a deeper truth many developers feel: mainstream OSes often prioritize marketing, ads, and ecosystem lock-in over the developer experience.
With Windows 10 officially end-of-life and Windows 11 pushing AI integrations and telemetry, and macOS facing criticism for declining polish (even misaligned icons!), developers are increasingly exploring Linux. But not all Linux distros are created equal—and that’s where this journey becomes essential reading.
My Full OS Timeline: From Windows 8 to Arch Linux Rice
The developer’s coding journey spans over a decade, with each OS marking a distinct phase:
| Year | OS | Primary Use Case | Key Tools |
|---|---|---|---|
| ~2013 | Windows 8 (pirated key from old laptop) | Java terminal apps | NetBeans |
| ~2013–2018 | macOS (OS X on Mid 2012 MacBook Pro) | iOS development, Unix-like workflow | Xcode, Terminal, SSH |
| Early career | Ubuntu (via Oracle VirtualBox on Windows) | Java Spring backend + Angular frontend | Eclipse, VS Code, Jira, Bitbucket |
| 2020 | Custom Arch Linux (dual-boot with Windows 10) | Machine learning, AI projects, custom rice | AwesomeWM, ZSH, Kitty, Polybar |
| 2022–2025 | WSL 2 (Ubuntu) on Windows 10/11 | Full-stack web, mobile (Expo), Chrome extensions | VS Code (WSL mode), Warp, IntelliJ |
| 2024–Present | Ubuntu + Omakub on mini PC (after NixOS experiment) | Content creation, coding, Adobe alternative testing | DaVinci Resolve, Figma, VS Code |
macOS: The Unix Dream (With Apple’s Walled Garden)
Back when it was still called OS X, macOS offered a rare blend: certified Unix compliance with consumer-grade hardware polish. The developer recalls the stark contrast between macOS and Windows:
- Forward slashes vs. Windows’ backslashes
- Native SSH without third-party tools (unlike Windows, which required “Siduin” or PuTTY)
- Seamless terminal integration with Git and development workflows
“I heavily leaned towards almost exclusively using my MacBook with OS X for software development,” the speaker admits. Apple’s hardware quality and Unix foundation made it a developer favorite—though that advantage has eroded in recent years due to software bloat and ecosystem restrictions.
The macOS Downside: Closed Ecosystem, Declining Polish
While Apple still makes “great hardware,” the speaker notes a troubling trend: even basic UI elements like icon alignment are slipping. More critically, macOS locks users into a closed garden—great if you love the ecosystem, frustrating if you need flexibility.
Windows: The Necessary Evil (Until WSL 2 Changed Everything)
Historically, Windows was a nightmare for developers: incompatible paths, missing Unix tools, and clunky terminal experiences. The speaker used it only out of necessity—primarily because of Adobe software (Photoshop, Lightroom, Premiere).
But everything changed with WSL 2 (Windows Subsystem for Linux), introduced around 2019 (though the speaker first tried it in 2022). WSL 2 allows developers to run a full Linux kernel inside Windows—without dual-booting or VM overhead.
Why WSL 2 Is a Game-Changer
- Run Linux command-line tools natively (no more backslashes!)
- VS Code automatically detects and connects to WSL—just click “Connect to WSL”
- Access Windows apps (like Adobe) and Linux dev environment on the same machine
- No need for Oracle VirtualBox or complex dual-boot setups
“WSL 2 gives you the best of both worlds,” the speaker says. For the past three years, it’s been their primary development environment.
WSL 2 Quirks and Workarounds
Despite its strengths, WSL 2 isn’t perfect:
- Mobile development (Expo): Requires a
--tunnelflag to display apps on the Windows host - Chrome Extensions: Code lives in WSL, but the extension must be loaded from a Windows folder—requiring manual copying (or AI-assisted automation via “Wart”)
- Networking issues: Some system-level features don’t work as expected
- Memory footprint: WSL 2 uses more RAM than native Linux
Ubuntu: The Perfect Linux Gateway Drug
When the speaker first tried Linux via a VirtualBox VMUbuntu stable—and never looked back.
“If you want to get into Linux and you want it to just all work, Ubuntu stable is my personal recommendation,” they say. It’s plug-and-play, well-documented, and supported by a massive community.
Why Ubuntu Works for Beginners
- Pre-installed drivers (Wi-Fi, audio, graphics)
- GUI tools for common tasks (no terminal required)
- Huge software repository via
apt - Excellent compatibility with development tools like VS Code, Docker, and Node.js
Even today, Ubuntu remains the foundation for the speaker’s WSL 2 setup and their mini PC experiments.
Arch Linux: Total Control at a Cost
In 2020, the developer built a custom PC (with parts from MicroCenter) and installed Arch Linux—not just for coding, but to create a fully customized “rice” (aesthetic + functional desktop setup).
This was their first encounter with Linux’s steeper side: you control everything, which means you fix everything.
Arch Linux Setup Breakdown
| Component | Tool Used |
|---|---|
| Window Manager | AwesomeWM |
| Compositor | tryone’s picom fork (for dual-kawase blur) |
| Display Manager | LightDM |
| Shell | ZSH |
| Terminal | Kitty |
| Web Browser | Firefox |
| File Manager | Thunar |
| Brightness Control | brightnessctl |
| Volume Control | pamixer |
| Status Bar | Polybar |
The Arch Linux Trade-Off
Pros:
- Complete customization
- Bare-metal performance
- Arch Wiki—“the absolute best wiki I have ever read… vast, specific, and incredibly useful”
Cons:
- Audio issues that “didn’t make any sense”
- Wi-Fi required manual driver installation
- Every config change required editing text files
- Time-intensive setup and maintenance
NixOS: Declarative Power—But Is It Practical?
On a mini PC, the speaker experimented with NixOS, a Linux distro built on declarative configuration. Everything—from packages to services—is defined in a single config file.
“I really loved the cleanliness, the structure,” they admit. But ultimately, NixOS wasn’t sustainable:
- IDE and GPU support is limited—many tools are community-maintained and lag behind official releases
- Debugging failures requires deep Nix knowledge
- “If I have to spend the better part of a year learning how to efficiently use an OS… it’s not worth it” given current responsibilities
The core issue? “You control every package and service—and when one thing breaks, you fix everything manually.”
Omakub & Omari: The New Hope for Opinionated Linux?
After ditching NixOS, the speaker installed Omakub on Ubuntu—a pre-configured “developer setup” created by DHH (creator of Ruby on Rails).
Omakub is essentially a curated Ubuntu rice with sensible defaults for developers. Its Arch-based sibling, Omari, aims to do the same for Arch users.
Why Omakub/Omari Might Solve the Linux Dilemma
- Pre-solves common pain points (audio, Wi-Fi, Bluetooth)
- Includes modern tools (ZSH, Kitty, VS Code, Warp terminal)
- Opinionated but customizable
- Reduces the “time sync” cost of raw Arch or NixOS
The speaker plans to test Omari in a VM to decide: “Is it a good launch point for stripping down what I don’t want… or is it too far off from what I want?”
The Adobe Problem: Why Many Developers Stay on Windows
Despite loving Linux, the speaker remains “handcuffed to Adobe” for video editing (Premiere), photo editing (Photoshop), and color grading (Lightroom).
Even with Wine or native alternatives, Adobe’s ecosystem is hard to replace:
- DaVinci Resolve (for Premiere)
- Figma (for Photoshop/UI design)
- No solid Lightroom alternative on Linux
This dependency forced dual-boot setups and, eventually, reliance on WSL 2 to keep Windows for Adobe while coding in Linux.
WSL 2 vs. Native Linux: The Final Verdict
After years of experimentation, the speaker’s conclusion is nuanced:
| Criteria | WSL 2 | Native Linux (Ubuntu/Arch) |
|---|---|---|
| Setup Ease | Easy (built into Windows) | Medium (Ubuntu) to Hard (Arch) |
| Performance | Good, but higher memory use | Excellent (bare metal) |
| Adobe Compatibility | ✅ Full access | ❌ Limited or none |
| Mobile Dev (Expo) | Requires workarounds | Native support |
| Long-Term Viability | Uncertain (Windows 11 telemetry) | Full control, no vendor lock-in |
Windows 11: The Breaking Point
With Windows 10 now end-of-life, the speaker faces a dilemma: upgrade to Windows 11—with its “AI and ads and giving all your information to Microsoft”—or finally cut the cord.
“They own VS Code, GitHub, TypeScript, Azure, and effectively OpenAI,” the speaker notes. “They just have all your data.”
This privacy concern, combined with Windows 11’s hardware requirements and forced updates, is pushing them toward a full Linux transition—if they can solve the Adobe problem.
Lessons Learned: What Works for Real-World Development
After coding on every major platform, the speaker shares these core insights:
- Windows is a headache—but WSL 2 fixes 90% of it. For most developers, WSL 2 is the pragmatic choice today.
- macOS is still Unix-certified and polished—but declining. Great if you’re all-in on Apple; risky if you value openness.
- Ubuntu is the safest Linux entry point. Stable, simple, and powerful enough for 95% of tasks.
- Arch/NixOS offer total control—but at a high time cost. Only pursue if you have the bandwidth to maintain them.
- Omakub and Omari might be the future. They deliver Arch-like power with Ubuntu-like usability.
What’s Next? The Path Forward
The speaker is now at a crossroads:
- Test Omari in a VM to see if it’s a viable Arch replacement
- Find reliable Adobe alternatives (DaVinci, Figma, etc.)
- Potentially migrate their primary machine to native Ubuntu + Omakub
- Avoid Windows 11 unless absolutely necessary
Their new mini PC—once running NixOS—is now a Ubuntu + Omakub testbed. Their main rig still runs WSL 2, but the clock is ticking.
Tools & Resources Mentioned
- MicroCenter – Hardware retailer (sponsor); won PC Mag’s 2025 Readers’ Choice Awards
- Arch Wiki – “The best OS wiki ever written”
- GitHub Pages – Free static site hosting (survived US-East1 outage)
- Warp Terminal – Modern terminal with AI features
- VS Code + WSL Extension – Seamless Linux development on Windows
- Omakub – DHH’s Ubuntu developer setup
- Omari – Arch-based counterpart to Omakub
Real-World Example: Building a Resume Site on GitHub Pages
The speaker reminisces about their first coding project: a resume site at forestsight.github.io, built with:
- Notepad++ (oddly, since they never coded in it again)
- GitHub Desktop (to avoid CLI intimidation for beginners)
- Simple HTML with
<br>tags - Hosted 100% free on GitHub Pages
“It takes me back to when I first did it like 10 years ago,” they say—highlighting how foundational tools like GitHub Pages remain vital for developers today.
Conclusion: Choose Your OS Based on Your Reality
There’s no universal “best” OS for coding. Your choice depends on:
- Your workflow needs (web, mobile, data science, etc.)
- Your tolerance for setup/maintenance
- Your dependency on proprietary software (Adobe, etc.)
- Your privacy and control preferences
If you’re just starting out: Ubuntu or WSL 2.
If you crave control and have time: Arch or Omari.
If you’re all-in on Apple: macOS (for now).
If you’re stuck with Adobe: WSL 2 is your lifeline.
As the speaker puts it: “That’s all this is going to be—my thoughts, my experience.” And in a world of hype and benchmarks, that raw honesty is exactly what developers need.
Ready to Choose Your OS?
Action Step: Try WSL 2 if you’re on Windows. Install Ubuntu in a VM if you’re curious about Linux. And if you’re feeling bold—test Omakub or Omari. Your perfect dev environment is out there—you just have to try coding every option to find it.

