Naturally, all real work is done on the command line! Having a great command line experience makes all the difference. Life’s too short to have a crappy command line (or, horror of horrors, have to click on buttons in a GUI :))

Inspired by Scott Hanselman’s post, here is how I have configured my command line using Oh My Posh. Follow his instructions to get started.
Tools To Install
Oh My Posh Configuration
Here is my personal terminal theme.
path– the whole path I am working inposhgit– shows branch name & # of changes (posh-git, you will have to install this)root– whether I am running as root (or Windows Administrator), adds a lightning bolt to the end of the promptexit– shows the error code from the previous command (if there was one, such asxERROR)prompt– shows a blue arrow on a newline
Here is the whole file.
{
"$schema": "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json",
"blocks": [
{
"type": "prompt",
"alignment": "left",
"segments": [
{
"type": "path",
"style": "plain",
"foreground": "#ffffff",
"properties": {
"prefix": "",
"style": "full"
}
},
{
"type": "poshgit",
"style": "plain",
"foreground": "#C2C206"
},
{
"type": "root",
"style": "plain",
"foreground": "#B5B50D"
},
{
"type": "exit",
"style": "plain",
"foreground": "#C94A16",
"properties": {
"prefix": "x"
}
}
]
},
{
"type": "prompt",
"alignment": "left",
"newline": true,
"segments": [
{
"type": "text",
"style": "plain",
"foreground": "#007ACC",
"properties": {
"prefix": "",
"text": "\uE602"
}
}
]
}
],
"final_space": true
}Make sure you reference this in your $PROFILE PowerShell file.
oh-my-posh --init --shell pwsh --config "C:\Users\jordanbean\ohmyposhv3-v2.json" | Invoke-Expression
Import-Module PSReadLine
Import-Module -Name Terminal-Icons
Import-Module posh-git
Set-PSReadLineOption -PredictionSource History
Set-PSReadLineOption -PredictionViewStyle ListView
Set-PSReadLineOption -EditMode Windows
$env:POSH_GIT_ENABLED = $trueOther
I also have PSReadLine installed. This remembers your previous commands and displays an interactive list. Makes it so much easier to find previous commands (especially longer commands).


Finally, I have Terminal-Icons installed to provide a glyph for listing directory contents.
