How to make a pretty prompt in Windows Terminal with Powerline, Nerd Fonts, Cascadia Code, WSL, and oh-my-posh (2024)

Sponsored By

I've blogged about Patching the new Cascadia Code to include Powerline Glyphs and other Nerd Fonts for the Windows Terminal but folks have asked very specifically, how do I make my prompt look like that?

Step One - Get the Terminal

Get Windows Terminal free from the Store. You can also get it from GitHub's releases but I recommend the store because it'll stay up to date automatically.

Note that if you were an early adopter of the Windows Terminal and you've released updated beyond 0.5, I'd recommend you delete or zero-out your profiles.json and let the Terminal detect and automatically recreate your profiles.json.

How to make a pretty prompt in Windows Terminal with Powerline, Nerd Fonts, Cascadia Code, WSL, and oh-my-posh (1)

Step Two for PowerShell - Posh-Git and Oh-My-Posh

Per these directions, install Posh-Git and Oh-My-Posh. This also assumes you've installed Git for Windows.

Install-Module posh-git -Scope CurrentUser
Install-Module oh-my-posh -Scope CurrentUser

Run these commands from PowerShell or PowerShell Core. I recommend PowerShell 6.2.3 or above. You can also use PowerShell on Linux too, so be aware. When you run Install-Module for the first time you'll get a warning that you're downloading and installing stuff from the internet so follow the prompts appropriately.

Also get PSReadline if you're on PowerShell Core:

Install-Module -Name PSReadLine -AllowPrerelease -Scope CurrentUser -Force -SkipPublisherCheck

Then run "notepad $PROFILE" and add these lines to the end:

Import-Module posh-git
Import-Module oh-my-posh
Set-PoshPrompt -Theme Paradox

Now that word Paradox there is optional. It's actually the name of a theme and you can (and should!) pick the theme that makes you happy and use that theme's name here. I like Agnoster, Paradox, or Fish, myself. Read more over here. https://github.com/JanDeDobbeleer/oh-my-posh

Step Two for Ubuntu/WSL

There's a number of choices for Powerline or Powerline-like prompts from Ubuntu. I like Powerline-Go for it's easy defaults.

I just installed Go, then installed powerline-go with go get.

sudo apt install golang-go
go get -u github.com/justjanne/powerline-go

Add this to your ~/.bashrc. You may already have a GOPATH so be aware.

GOPATH=$HOME/go
function _update_ps1() {
PS1="$($GOPATH/bin/powerline-go -error $?)"
}
if [ "$TERM" != "linux" ] && [ -f "$GOPATH/bin/powerline-go" ]; then
PROMPT_COMMAND="_update_ps1; $PROMPT_COMMAND"
fi

GOTCHA: If you are using WSL2, it'll be lightning fast with git prompts if your source code is in your Ubuntu/Linux mount, somewhere under ~/. However, if your source is under /mnt/c or /mnt anywhere, the git calls being made to populate the prompt are super slow. Be warned. Do your Linux source code/git work in the Linux filesystem for speed until WSL2 gets the file system faster under /mnt.

At this point your Ubuntu/WSL prompt will look awesome as well!

How to make a pretty prompt in Windows Terminal with Powerline, Nerd Fonts, Cascadia Code, WSL, and oh-my-posh (2)

Fonts look weird? Uh oh!

Step Three - Get a better font

If you do all this and you see squares and goofy symbols, it's likely that the font you're using doesn't have the advanced Powerline glyphs. Those glyphs are the ones that make this prompt look so cool!

How to make a pretty prompt in Windows Terminal with Powerline, Nerd Fonts, Cascadia Code, WSL, and oh-my-posh (3)

At the time of this writing there is active talk of getting Powerline and other Nerd Fonts into Cascadia Code, the new font that ships with Windows Terminal. In the short term, you can get a forked version of Cascadia Code called Delugia Code and download that.

Cascadia Code has been updated with a PL (Powerline) Glyph version! Go get it at https://github.com/microsoft/cascadia-code/releases and change the fontFace in your settings.json to "Cascadia Code PL"

"fontFace": "Cascadia Code PL"

Remember also you can get lots of Nerd Fonts at https://www.nerdfonts.com/, just make sure you get one (or generate one!) that includes PowerLine Glyphs.

Have fun!

Sponsor: Suffering from a lack of clarity around software bugs? Give your customers the experience they deserve and expect with error monitoring from Raygun.com. Installs in minutes, try it today!

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

How to make a pretty prompt in Windows Terminal with Powerline, Nerd Fonts, Cascadia Code, WSL, and oh-my-posh (4) How to make a pretty prompt in Windows Terminal with Powerline, Nerd Fonts, Cascadia Code, WSL, and oh-my-posh (5)
About Newsletter

Hosting By
How to make a pretty prompt in Windows Terminal with Powerline, Nerd Fonts, Cascadia Code, WSL, and oh-my-posh (7)

Comment on this post [15]

Share on or or use the Permalink

October 20, 2019 11:57

I want this but too lazy to follow Scott's instruction... please somebody package this and let me download with one command... pretty please... 😅

How to make a pretty prompt in Windows Terminal with Powerline, Nerd Fonts, Cascadia Code, WSL, and oh-my-posh (8) rosdi

October 20, 2019 12:00

Thank you Scott for this tip

On the Delugia documentation font face is named "Delugia Nerd Font" instead of "DelugiaCode NF"

How to make a pretty prompt in Windows Terminal with Powerline, Nerd Fonts, Cascadia Code, WSL, and oh-my-posh (9) Pierre-Emmanuel Mercier

October 20, 2019 18:32

This seems to be a good option as well: https://github.com/andresgongora/synth-shell

October 21, 2019 13:04

It looks like the NerdFonts patching process breaks the ligatures - I tried their version of Fira Code and the DelugiaCode font and ligatures were broken for both.

How to make a pretty prompt in Windows Terminal with Powerline, Nerd Fonts, Cascadia Code, WSL, and oh-my-posh (11) Jim Paton

October 21, 2019 13:38

Ignore me. Found the problem!
It seems you need to avoid the "Mono" versions of the fonts for the ligatures to work.

October 21, 2019 16:57

Yeah, I've always wanted a prompt that constantly takes up 60-70% of the horizontal space of my terminal window! :p

How to make a pretty prompt in Windows Terminal with Powerline, Nerd Fonts, Cascadia Code, WSL, and oh-my-posh (13) Gumpy Git

October 21, 2019 17:07

As others commenten. I downloaded the Font but it didn't work. Looks like the Font is now named "Delugia Nerd Font". When I added

"fontFace": "Delugia Nerd Font"

in the Windows Terminal config for Powershell core it worked.

How to make a pretty prompt in Windows Terminal with Powerline, Nerd Fonts, Cascadia Code, WSL, and oh-my-posh (14) Marc

October 21, 2019 17:58

Sweet! Working fine under ConEmu here - with Delugia Code set as the console font.

For my own preferences, I've added -colorize-hostname (to differentiate environments at a quick glance) and -newline (because this prompts does take some space) to the options. My PS1 ended-up like this and I'm happy for now:

PS1="$($GOPATH/bin/powerline-go -colorize-hostname -newline -error $?)"

For anyone who'd rather have a smaller prompt in a single line, try playing with -condensed and -cwd-max-dir-size N (options described here); myself, I prefer the bigger prompt with a newline.

Thanks Scott!

October 22, 2019 16:20

Thanks a lot for the tutorial.
I managed to get everything installed and running except the fonts with the Windows Terminal. The font works with Terminus (https://github.com/Eugeny/terminus) with the same PowerShell Core 7.0 preview 4.
Kinda odd but I will be fine with Terminus.

How to make a pretty prompt in Windows Terminal with Powerline, Nerd Fonts, Cascadia Code, WSL, and oh-my-posh (16) Didier Donner

October 22, 2019 22:07

Could someone send me a patched Cascadia Code Nerd Fonts font file? Sadly I cannot patched successfully it.

October 23, 2019 19:08

Firstly I would like to thanks Scoot.

I am agree your points because I have follow this guidlines.

October 23, 2019 19:47

I'm getting this error:

Microsoft.PowerShell_profile.ps1:28 char:26
+ $sysuptime = (Get-Date) � [System.Management.ManagementDateTime ...
+ ~~~
Unexpected token '�' in expression or statement.
+ CategoryInfo : ParserError: (:) [], ParseException
+ FullyQualifiedErrorId : UnexpectedToken

How to make a pretty prompt in Windows Terminal with Powerline, Nerd Fonts, Cascadia Code, WSL, and oh-my-posh (19) Eric Lamontagne

October 25, 2019 1:22

Scott,

Is there any way, or plans to be able to launch the terminal from the Explorer file menu, and to be able to pin it to the quick launch?

How to make a pretty prompt in Windows Terminal with Powerline, Nerd Fonts, Cascadia Code, WSL, and oh-my-posh (20) Adam Carr

October 11, 2020 6:52

Hi, There's no doubt that your website may be having web browser
compatibility problems. When I look at your blog in Safari,
it looks fine but when opening in I.E., it's got some overlapping
issues. I merely wanted to provide you with a quick heads up!
Apart from that, wonderful blog! https://vanzari-parbrize.ro/parbrize/parbrize-lancia.html

October 11, 2020 15:41

Heya! I understand this is somewhat off-topic however
I needed to ask. Does operating a well-established blog like yours
take a lot of work? I am completely new to operating a blog but I do write in my journal everyday.
I'd like to start a blog so I can share my personal experience and thoughts online.
Please let me know if you have any ideas or tips for new aspiring bloggers.
Thankyou! https://anunturi-parbrize.ro/index.php?cauta=luneta+mazda

Comments are closed.

How to make a pretty prompt in Windows Terminal with Powerline, Nerd Fonts, Cascadia Code, WSL, and oh-my-posh (2024)
Top Articles
Latest Posts
Article information

Author: Velia Krajcik

Last Updated:

Views: 5904

Rating: 4.3 / 5 (74 voted)

Reviews: 89% of readers found this page helpful

Author information

Name: Velia Krajcik

Birthday: 1996-07-27

Address: 520 Balistreri Mount, South Armand, OR 60528

Phone: +466880739437

Job: Future Retail Associate

Hobby: Polo, Scouting, Worldbuilding, Cosplaying, Photography, Rowing, Nordic skating

Introduction: My name is Velia Krajcik, I am a handsome, clean, lucky, gleaming, magnificent, proud, glorious person who loves writing and wants to share my knowledge and understanding with you.