TLDR; This guide will setup WSL2 Ubuntu web development environment with oh-my-posh customization.
Prequesites
- 
Install Windows Terminal 
- 
Install the latest version of PowerShell 
- 
Install VSCode 
Setup WSL2
- 
Update to the latest version of Windows before proceeding 
- 
Navigate to 'Turn Windows features on or off' 
- 
Enable 'Windows Subsystem for Linux' and Virtual Machine Platform  
- Press 'ok', then following the instructions on-screen and restart the system.
 
- 
After the system reboots, Install the latest version of Ubuntu 
- 
Launch Windows Terminal, navigate to settings, and change the Default profile to 'PowerShell' 
- 
Open Ubuntu, setup a username and password 
- 
Switch back to PowerShell and enter the command: wsl -l -v
- 
- If Ubuntu is running on WSL version 1, you'll need to change to version '2', Enter the following command:
 wsl --set-version Ubuntu-20.04 2
- 
if you're not using another OS: wsl --set-version <os-name> 2
- 
WSL2 might require a kernel update, if so please follow the link and install. Then run this command again: wsl --set-version Ubuntu-20.04 2
- 
To make sure everything is running smoothly, restart windows Terminal and run the command: wsl -l -v
- 
Now WSL2 is setup and you can run the linux kernel directly with: wsl
Customize PowerShell
- 
Download Caskaydia Cove Nerd Font from nerdfonts.com - Direct Download
 
- Extract zip folder and install all fonts.
- Then navigate to Windows Terminal Settings, Under profiles select 'Defaults' and change the font to 'CaskaydiaCove NF'
 
 
- 
Install Oh My Posh and customize profile - Oh My Posh Documentation
- In PowerShell enter: winget install JanDeDobbeleer.OhMyPosh
 
 
- 
Create PowerShell profile echo $PROFILE
- Most likely this folder and file does not exist, you will have to create a 'PowerShell' folder and a 'Microsoft.PowerShell_profile.ps1' file in that location.
- 
#command to create a folder mkdir PowerShell
- 
change directory to insider the 'PowerShell' folder 
   #creates file echo $PROFILE >> Microsoft.PowerShell_profile.ps1
- 
Open file in VS code code .
- 
Trust author and Install recommend extension 
- 
Replace text with: oh-my-posh --init --shell pwsh --config ~/jandedobbeleer.omp.json | Invoke-Expression
- 
save changes and restart shell. 
- 
OR 
- 
Install the theme I'm using from Scott Hanselman's Guide 
- 
Extract zip 
- 
Locate oh-my-posh hemes. For example, my theme folder was found here: C:UsersMichaelAppDataLocalProgramsoh-my-posh hemes
- 
Place ohmyposhv3-v2.json inside themes folder 
- 
Replace text inside Microsoft.PowerShell_profile.ps1 with: oh-my-posh --init --shell pwsh --config <add file path to theme here> | Invoke-Expression
- 
Save file and restart shell. Your profile should look something like this: 
Optional Plugins:
- 
Terminal-Icons - Enter into PowerShell:
 Install-Module -Name Terminal-Icons -Repository PSGallery
- 
Then add the following to $profile Import-Module -Name Terminal-Icons
- 
PSReadLine - Enter into PowerShell
 Install-Module PSReadLine -AllowPrerelease -Force
- 
Then add the following to $profile Import-Module PSReadLine Set-PSReadLineOption -PredictionSource History Set-PSReadLineOption -PredictionViewStyle ListView Set-PSReadLineOption -EditMode Windows
 
                    









