As a long-time macOS user, switching to a Windows machine for web development felt a bit like landing on another planet. I'm used to the Unix-based environment of macOS, smooth Terminal experiences, and everything just kind of… working. But recently, I decided to give Windows another shot, partly out of curiosity, and partly because I wanted to explore WSL2 and how Windows 11 has improved its development tools.
Spoiler: it wasn’t instant magic. But it did get pretty good. Here's how it went.
Day 1: The Setup Begins
Out of the box, the Windows machine felt snappy, but I quickly realized I couldn’t just pop open a terminal and start installing things like I would with macOS. I needed to install Windows Subsystem for Linux (WSL), which would allow me to use a full Linux terminal within Windows.
But here's the catch: to use WSL2, which has way better performance and compatibility than WSL1, I had to first enable virtualization in the BIOS.
Enabling Virtualization
This was a fun detour. I had to reboot the machine, enter the BIOS (by hitting Delete
or F2
), and enable virtualization. Not hard, but definitely not beginner friendly. It's something most macOS users never have to think about. If you're used to clicking through System Preferences, this might feel like going back in time.
After enabling it, I came back into Windows and followed Microsoft’s guide to install WSL2 and Ubuntu from the Microsoft Store. That took about 1 hour, including restarts and waiting for updates.
Installing My Dev Tools
On macOS, I usually use Homebrew to install everything: Node.js, Git, VS Code, and so on. On Windows with WSL2, I used apt
inside Ubuntu to do the same. Here's a rough timeline of how long it took to get things set up:
- WSL2 installation & Ubuntu setup: 1 hour
- Node.js & npm (via nvm): 20 minutes
- Git: 5 minutes
- VS Code (with WSL extension): 15 minutes
- Oh My Zsh and setting Windows Terminal as default : 10 minutes
In total, it took around 2.5 to 3 hours to get a full development environment up and running, comparable to a fresh setup on macOS, but with more steps and BIOS detours.
VS Code + WSL = 💯
This is where things really started to feel like home.
With the Remote - WSL extension installed in VS Code, I was able to open my Linux-based project files directly inside VS Code even though the files lived inside the WSL2 filesystem (/home/user/project
). You don’t need to sync or copy files back and forth between Windows and Linux. It just works.
Even better:
- VS Code detects if you're inside WSL and automatically launches a WSL-based server in the background.
- The terminal inside VS Code becomes your Ubuntu shell.
- You can install extensions that run specifically within WSL.
- Performance is smooth, and there’s no file path weirdness like I used to expect from cross-environment setups.
This tight integration really removes the friction you'd expect from using two operating systems side by side. It genuinely feels native.
Surprises and Observations
- WSL2 is actually amazing. Once it's up, it feels like you're in a native Linux machine. It's fast, and file system integration with Windows is seamless.
- Terminal experience: The new Windows Terminal is actually good. I installed Oh My Zsh and it looked almost identical to my Warp setup on macOS, i just miss autocompletion and AI feutures.
- VS Code integration: The Remote - WSL extension makes VS Code open your Linux projects directly from WSL. No weird path issues. This was a highlight.
- No Docker out-of-the-box: Docker Desktop works with WSL2, but it’s another 30-minute setup. On macOS, I was used to having this ready to go.
Final Thoughts
Was it more work than setting up a Mac? Yes.
Was it worth it? Also yes.
If you're coming from macOS, expect to spend a few hours configuring things. You’ll need to touch the BIOS, deal with the Microsoft Store, and learn how WSL works. But once you're past that, Windows becomes a surprisingly capable and flexible environment for web development, especially with WSL2 acting as a bridge to the Linux world.
Would I stick with Windows long-term? Having a custom built pc is aesthetic especially with water cooling, RGB and LED lights but I still love my macbook :D