Solution
(Note: I'm running PowerShell 7.1 LTS)
First, install a Nerd Font:
[skip if you've already done so]
Instructions for installing a Nerd Font:
https://learn.microsoft.com/en-us/windows/terminal/tutorials/custom-prompt-setup#install-a-nerd-font
Then, install oh-my-posh
:
1. Install: posh-git
oh-my-posh
:
# This first step isn't included in the Microsoft Docs page:
Install-Module posh-git -Scope CurrentUser
# ...though this one is:
Install-Module oh-my-posh -Scope CurrentUser
2. ...follow the rest of the instructions here:
https://github.com/JanDeDobbeleer/oh-my-posh2#installation
3. ...finally, try the command again:
# Set the prompt theme (defaults to 'agnoster' for me)
# ! Note: You have to do this step first (or it still won't work)
Set-PoshPrompt
# List the available themes (should work now)
# ! Note: this will attempt to render a bunch of graphics in your shell
Get-PoshThemes
# ! Note: use the -List option to avoid a bunch of graphics in your shell
# This will list the paths to the themes (in plaintext):
Get-PoshThemes -List
Optional
To avoid manually entering Set-PoshPrompt
, include the command in your PowerShell $PROFILE
:
# ...e.g. to use the included 'zash' theme:
Set-PoshPrompt zash
...you should see your PowerShell prompt change when you open a start shell instance (i.e. new PowerShell tab or window).
Closing thoughts (side-note)
Before I got it to work, I originally followed the instructions here:
https://learn.microsoft.com/en-us/windows/terminal/tutorials/custom-prompt-setup#install-a-nerd-font
...no mention of the posh-git
module or the Set-PoshPrompt
command (as of 12/30/2021).