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\themes. For example, my theme folder was found here:
C:\Users\Michael\AppData\Local\Programs\oh-my-posh\themes
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
Top comments (0)