The default PowerShell terminal was too plain, so I tried applying Oh My Posh. I struggled a bit with the settings, and here's a summary of the process. Here's how to install Oh My Posh in Windows, apply themes and Nerd Fonts to perfectly customize your terminal.


default alt text

1. Installing Oh My Posh

Install with Winget (Recommended)

winget install JanDeDobbeleer.OhMyPosh -s winget

Install with Scoop (Alternative)

scoop install oh-my-posh

Check if it's working properly after installation:

oh-my-posh --version


## 2. Setting Up PowerShell Profile

To automatically apply Oh My Posh without typing it every time, you need to add initialization code to your PowerShell profile.

① Check Current Profile Path

echo $PROFILE

Usually you'll see a path like this:

C:\Users\username\Documents\PowerShell\Microsoft.PowerShell_profile.ps1

(May be WindowsPowerShell folder for PowerShell 5)


② Create Profile File (if it doesn't exist)

if (!(Test-Path -Path $PROFILE)) {
    New-Item -Type File -Path $PROFILE -Force
}

③ Open Profile

In Administrator PowerShell:

notepad $PROFILE

④ Add the Following Code

oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\paradox.omp.json" | Invoke-Expression

Save and restart PowerShell to apply the paradox theme.



## 3. Installing Nerd Font (Fix Icon Display Issues)

Oh My Posh uses various icons that don't display in default fonts. Therefore, you need to install Nerd Font.

① Download Nerd Font

👉 Nerd Fonts Official Site Examples: FiraCode Nerd Font, Meslo Nerd Font

② Installation Method

  1. Download zip file and extract
  2. Select all .ttf files → Right-click → Install (or Install for all users)


## 4. Applying Font to Windows Terminal
  1. Run Windows Terminal
  2. Top menu → Settings
  3. Select the shell you use on the left (e.g., PowerShell)
  4. Appearance → Font face - enter the installed Nerd Font (e.g., FiraCode Nerd Font)

After saving and restarting the terminal, icons will display correctly.



## 5. Changing Themes

Oh My Posh offers dozens of themes.

Theme preview:

Get-PoshThemes

Put the desired theme path in your $PROFILE settings. Example:

oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\agnosterplus.omp.json" | Invoke-Expression


## Final Result ✨
  • Beautiful prompt + Git status + icon display in terminal
  • Emojis/symbols don't break with Nerd Font
  • Auto-applied when PowerShell starts

👉 Now your Windows PowerShell has transformed from a simple black window into a powerful and beautiful development environment 🚀

default alt text