Customize your terminal using oh-my-posh theme

Shahin Alam
4 min readMay 1, 2021

--

Hey developers,

Today I will show you how you can customize your windows terminal with your test like this. Or you can add your own theme. Trust me, and it’s super easy anyone can do. You need to know simple codding knowledge, and you are good to go. If you face any problem, write it down in the comment section. I will try to solve your problem.

In this tutorial, I am trying to make it as simple as I can. I will explain every detail you need to know when you are making your terminal theme.

Without wasting your valuable time, let’s jump to the tutorial.

Follow those simple steps.

Set up Powerline in PowerShell

Step 1: Install the windows terminal by using this link.
https://www.microsoft.com/en-us/p/windows-terminal/9n0dx20hk701?activetab=pivot:overviewtab

Step 2: Install a Powerline font
https://www.nerdfonts.com/font-downloads
Using this link, you will find the font named FiraMono Nerd Font. Download and install it on your system.

Step 3: Now, you need to install Install Git for Windows by using this link
https://git-scm.com/downloads

Step 4: Let’s set up Git
Open windows terminal and type (CTRL +, ) to open setting
You’ll want to append one of the profiles options below (depending on what version of git you have installed) to the “list”: portion of the settings.json file

{
"$schema": "https://aka.ms/terminal-profiles-schema",

"defaultProfile": "{00000000-0000-0000-ba54-000000000001}",

"profiles":
{
"defaults":
{
// Put settings here that you want to apply to all profiles
},
"list":
[
<put one of the configuration below right here>
]
}
}

Profile options

Uncomment correct paths for command line and icon if you are using:

*Git for Windows in %PROGRAMFILES%
*Git for Windows in %USERPROFILE%
*If you’re using scoop

{
"guid": "{00000000-0000-0000-ba54-000000000002}",
"commandline": "%PROGRAMFILES%/git/usr/bin/bash.exe -i -l",
// "commandline": "%USERPROFILE%/AppData/Local/Programs/Git/bin/bash.exe -l -i",
// "commandline": "%USERPROFILE%/scoop/apps/git/current/usr/bin/bash.exe -l -i",
"icon": "%PROGRAMFILES%/Git/mingw64/share/git/git-for-windows.ico",
// "icon": "%USERPROFILE%/AppData/Local/Programs/Git/mingw64/share/git/git-for-windows.ico",
// "icon": "%USERPROFILE%/apps/git/current/usr/share/git/git-for-windows.ico",
"name" : "Bash",
"startingDirectory" : "%USERPROFILE%"
}

Or you can use my setting.json file just copy and paste
https://git.io/J3nNy.

If you like the ( Learn with Sumit) terminal, then paste this code without making any changes.

Step 5: install oh my posh on windows terminal

https://ohmyposh.dev/
Using your windows terminal, install Posh-Git and Oh-My-Posh:

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

If you are using PowerShell Core, install PSReadline:

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

Customize your PowerShell prompt

Using your windows terminal, import module Posh-Git and Oh-My-Posh:

Import-Module posh-git
Import-Module oh-my-posh
Set-PoshPrompt -Theme hotstick.minimal

Now paste one more command

echo $profile

It will show you this ps1 file path.

“C:\Users\Shahi\OneDrive\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1”

Then paste another command

notepad $profile

It will open a notepad in this empty space. Paste the code below and save it

Import-Module posh-git
Import-Module oh-my-posh
Set-PoshPrompt -Theme hotstick.minimal

Step 6: setup windows terminal setting.json

Open windows terminal and type (CTRL +, ) to open setting
Change those setting

Step 7: customize windows terminal Theme JSON.

In this step, you need to copy-paste my customized theme.
Open terminal and run

Get-PoshThemes

Now you can see the list of all themes of oh-my-posh. We pick one theme named hotstick.minimal.omp.json

Paste the command to the terminal.

Set-PoshPrompt -Theme hotstick.minimal

Now let’s customize hotstick.minmal

https://git.io/J3cIq
Check the link and download the hotstick.minimal.omp.json
file:

Replace the hotstick.minimal json file on this file path

“C:\Program Files\WindowsPowerShell\Modules\oh-my-posh\3.134.0\themes\hotstick.minimal.omp.json”

--

--