Skip to content

Latest commit

 

History

History
115 lines (84 loc) · 2.23 KB

File metadata and controls

115 lines (84 loc) · 2.23 KB

WSL2 Development Environment - Quick Start

First-Time Setup (5 minutes)

1. From Windows PowerShell (Run as Administrator)

# Install WSL2 if not already installed
wsl --install

# Reboot if prompted, then install Ubuntu 24.04
wsl --install Ubuntu-24.04

2. From Inside WSL2 Ubuntu

# Clone this repo
git clone <your-repo-url> ~/wsl2-migration
cd ~/wsl2-migration

# Run the bootstrap
./bootstrap.sh

3. Restart WSL2

From Windows PowerShell:

wsl --shutdown
wsl

Verify Installation

cd ~/wsl2-migration
./verify.sh

What Gets Installed

Tool Purpose
Docker Engine Container runtime (not Docker Desktop)
.NET 10 SDK .NET development
Node.js (LTS) JavaScript/TypeScript development
Claude Code CLI AI coding assistant
GitHub CLI GitHub operations
zsh + oh-my-zsh Enhanced shell

Common Commands

# Docker
docker ps                    # List containers
docker compose up -d         # Start services

# .NET
dotnet new webapi            # Create new project
dotnet test                  # Run tests

# Node.js
nvm use lts                  # Switch to Node.js LTS
npm install                  # Install dependencies

# Git
gs                          # git status
gp                          # git push

IDE Setup

VS Code

code .                      # Open in VS Code with Remote-WSL

JetBrains Rider

  1. Open Rider on Windows
  2. File → Settings → Gateway
  3. Add WSL backend
  4. Open project from \\wsl$\Ubuntu-24.04\home\...

Run Devcontainer Test

cd ~/wsl2-migration/devcontainer-test
code .
# Then: "Reopen in Container"

Migrate Windows Configs

cd ~/wsl2-migration
./modules/migrate.sh        # Copy git, SSH, npm configs from Windows

Troubleshooting

Issue Solution
Docker permission denied newgrp docker or restart WSL
dotnet not found source ~/.profile.d/dotnet.sh
node not found source ~/.nvm/nvm.sh
No internet Check /etc/resolv.conf or restart WSL

Need Help?

  • Full docs: See docs/ directory
  • Troubleshooting: docs/troubleshooting.md
  • Rider setup: docs/rider-gateway-setup.md