How to Customize Windows Terminal Like a Pro With Oh My Posh

How to Customize Windows Terminal Like a Pro

For developers or anyone who uses Windows Terminal to interact with the shell, be it PowerShell or WSL, this tutorial is going to help you customize the Terminal, which will soon be the default command line experience in Windows 11. With the help of a popular prompt theme engine called Oh My Posh, you can make your shell look beautiful with icons, glyphs, colors, and more. I must thank Scott Hanselman, who demonstrated all the nitty-gritties of how to customize the Windows Terminal in Windows 10/ 11 and make it look interesting. So without any further delay, let’s get started and learn how to customize the Windows Terminal in Windows 10/ 11.

Customize Windows Terminal Like a Pro (2022)

We have detailed instructions to customize Windows Terminal, ranging from how to add the acrylic effect to applying the Caskaydia font to your command line experience. We have added steps for both PowerShell and Ubuntu (WSL). You can expand the table below and move to any section you want.

Apply Acrylic Effect to Windows Terminal in Windows 10/ 11

1. First, open Microsoft Store and update Windows Terminal to the latest version.

Add Acrylic Effect to Windows Terminal

2. Next, open Windows Terminal and move to Settings.

windows terminal settings

3. Here, move to “Windows PowerShell” under “Profiles” from the left sidebar and switch to the “Appearance” tab.

Add Acrylic Effect to Windows Terminal

4. Scroll down and enable the “Acrylic” toggle. Right below, you can adjust the Acrylic opacity too. I have kept it at 70%, but you can set the value to your own liking. Finally, click on “Save” to confirm the changes. You have successfully taken your first step to customize the Windows Terminal.

Add Acrylic Effect to Windows Terminal

5. Repeat the process for CMD, WSL, and other shells you use on your Windows computer. It will add an Acrylic effect to the Windows Terminal.

How to Customize Windows Terminal Like a Pro

Add Caskaydia Cove Font to Windows Terminal

1. After adding the Acrylic effect, you need to install fonts compatible with Oh My Posh. I have installed Caskaydia Cove Nerd Font, which works well with this third-party customization tool. You can click here to download the font.

Apply Caskaydia Cove Font to Windows Terminal

2. After downloading the font, unzip it using apps like 7Zip or WinZip, and install all fonts. You can select all the fonts -> right-click on them -> Show more options -> Install for all users.

Apply Caskaydia Cove Font to Windows Terminal

3. Now, open Windows Terminal and move to the Settings. Here, switch to the “Windows PowerShell” section from the left pane and move to the “Appearance” tab just like we did above.

Apply Caskaydia Cove Font to Windows Terminal

4. Here, choose the newly-downloaded font you want to use with the Oh My Posh prompt. I have selected “Caskaydia Cove Nerd Font“. Now, click on “Save”.

Apply Caskaydia Cove Font to Windows Terminal

5. Repeat this process for all the shells you are using on Windows 10/ 11, including WSL/Ubuntu.

Customize PowerShell in Windows Terminal With Oh My Posh

1. Now that you have added the Acrylic effect and applied a compatible font, it’s time to install the Oh My Posh prompt. To do so, open Windows Terminal with administrator privileges. To do that, search for Terminal after pressing the Windows key and click the “Open as administrator” option in the right pane.

Customize PowerShell in Windows Terminal With Oh My Posh

2. Move to the PowerShell window and run the below command to install the Oh My Posh prompt. Post that, press “A” and hit Enter to allow the installation.

Install-Module oh-my-posh -Scope CurrentUser
Customize PowerShell in Windows Terminal With Oh My Posh

3. Next up, execute the below command to import the Oh My Posh profile. If you get any prompt, press “A”, followed by “Enter” to proceed with the installation.

Import-Module oh-my-posh
Customize PowerShell in Windows Terminal With Oh My Posh

4. After that, you need to install Terminal Icons. Shout out to Brandon Olin, who developed Terminal Icons for PowerShell. Just run the below command and allow for the installation to complete. Make sure you are running Windows Terminal with admin privileges before you run this command.

Install-Module -Name Terminal-Icons -Repository PSGallery 
Customize PowerShell in Windows Terminal With Oh My Posh

5. Now to check if everything is running fine, execute the command below. This will bring up the new prompt.

oh-my-posh --init --shell pwsh --config ~/jandedobbeleer.omp.json | Invoke-Expression
Customize PowerShell in Windows Terminal With Oh My Posh

6. So far, everything is running fine, but you need to make Oh My Posh your default custom prompt. To do that, run the below command. It will give you a path, which you need to note down or copy-paste in Notepad.

$PROFILE

Customize PowerShell in Windows Terminal With Oh My Posh

7. Next, navigate to that path, and you will find a “Microsoft.PowerShell_profile.ps1” file. Open it with Notepad, add the below lines, and save the file. Now, you can close the Notepad file.

Set-PoshPrompt -Theme jandedobbeleer
Import-Module -Name Terminal-Icons
Customize PowerShell in Windows Terminal With Oh My Posh

Note: If the Microsoft.PowerShell_profile.ps1 file does not exist in that location, follow the next step.

8. In case the ps1 file is not there, you can easily create one. Right-click in the “WindowsPowerShell” folder and choose New -> Text Document.

Customize PowerShell in Windows Terminal With Oh My Posh

9. Rename it to Microsoft.PowerShell_profile.ps1. Make sure there is no .txt extension at the end. The file name should end with .ps1.

Customize PowerShell in Windows Terminal With Oh My Posh

10. Now, open the file with Notepad and add the below two lines and save it. You can close the Notepad now.

Set-PoshPrompt -Theme jandedobbeleer
Import-Module -Name Terminal-Icons
Customize PowerShell in Windows Terminal With Oh My Posh

11. Move back to the PowerShell window and run the below command to reload the profile.

. $PROFILE
Customize PowerShell in Windows Terminal With Oh My Posh

12. Finally, close Windows Terminal and re-open it. You will now find that Oh My Posh is set as the default prompt in PowerShell. With the Acrylic effect, new fonts, icons, glyphs, and the Oh My Posh prompt, PowerShell in Windows Terminal looks beautiful.

  • How to Customize Windows Terminal Like a Pro
  • How to Customize Windows Terminal Like a Pro

Customize WSL/Ubuntu in Windows Terminal With Oh My Posh

Once you have added the Acrylic effect and installed the fonts, it’s time to customize WSL with Oh My Posh. Here is how to go about it.

1. Open Windows Terminal with admin privileges.

Customize PowerShell in Windows Terminal With Oh My Posh

2. Next up, move to WSL (Ubuntu or any other distro that you have installed).

Customize WSL/Ubuntu in Windows Terminal With Oh My Posh

3. Now, before we install Oh My Posh, we recommend updating WSL to the latest packages and dependencies. You may have to enter WSL’s password to confirm the installation.

sudo apt update && sudo apt upgrade -y
Customize WSL/Ubuntu in Windows Terminal With Oh My Posh

4. After that, run the below commands one by one to install Oh My Posh in WSL to enable yourself to customize Windows Terminal. You will have to press “y” to allow the installation.

sudo wget https://github.com/JanDeDobbeleer/oh-my-posh/releases/latest/download/posh-linux-amd64 -O /usr/local/bin/oh-my-posh
sudo chmod +x /usr/local/bin/oh-my-posh
Customize WSL/Ubuntu in Windows Terminal With Oh My Posh

5. Next up, run the below commands one by one to download the themes.

mkdir ~/.poshthemes
wget https://github.com/JanDeDobbeleer/oh-my-posh/releases/latest/download/themes.zip -O ~/.poshthemes/themes.zip
unzip ~/.poshthemes/themes.zip -d ~/.poshthemes
chmod u+rw ~/.poshthemes/*.json
rm ~/.poshthemes/themes.zip
Customize WSL/Ubuntu in Windows Terminal With Oh My Posh

6. Having done that, execute the below command to check if the custom prompt is installed properly. This should bring up the new Oh My Posh prompt.

eval "$(oh-my-posh --init --shell bash --config ~/.poshthemes/jandedobbeleer.omp.json)"
Customize WSL/Ubuntu in Windows Terminal With Oh My Posh

7. Now, to set Oh My Posh as your default prompt in WSL, run the below command. It will allow you to edit the Bash config file in Nano editor.

nano ~/.bashrc
Customize WSL/Ubuntu in Windows Terminal With Oh My Posh

8. In the Nano editor, scroll down using the keyboard arrow keys and look for this line “make less more friendly for non-text input files, see lesspipe(1)”. Right below it, you need to replace the command beginning with “eval…”.

Customize WSL/Ubuntu in Windows Terminal With Oh My Posh

9. Now, you need to type the below command in the Nano editor since it does not support copy and paste. It will look like this:

eval "$(oh-my-posh --init --shell bash --config ~/.poshthemes/jandedobbeleer.omp.json)"
Customize WSL/Ubuntu in Windows Terminal With Oh My Posh

10. After that, press “Ctrl + O” and hit Enter to save the changes. Next, press “Ctrl + X” to exit the Nano editor.

Customize WSL/Ubuntu in Windows Terminal With Oh My Posh

11. Finally, run the below command to reload the Bash profile. From now on, the WSL will load in the Oh My Posh prompt. Enjoy!

. ~/.bashrc
  • How to Customize Windows Terminal Like a Pro
  • How to Customize Windows Terminal Like a Pro

12. In case there are some glitches in rendering the glyphs and text, make sure you have set the right Caskaydia Cove Nerd font for Ubuntu/ other distros in the Settings page of Windows Terminal. This is one of the first things you need to customize in the Windows Terminal.

Customize WSL/Ubuntu in Windows Terminal With Oh My Posh

13. If you are still facing the issue, you need to reload the Bash profile every time you enter the WSL shell. Run the below command and everything will be fixed. You can also restart your PC to check if the issue has been fixed.

 . ~/.bashrc 
Customize WSL/Ubuntu in Windows Terminal With Oh My Posh

Make Your Windows Terminal Look Beautiful With Oh My Posh

So that is how you can customize Windows Terminal and make it look advanced and beautiful with icons, glyphs, acrylic effect, and more. As for the Command Prompt, we did try making it work with Clink but were unsuccessful. Anyway, that is all from us. If you want to further personalize Windows Terminal with themes, background images, and colors, follow our linked article. And if you have any questions, let us know in the comments section below.

7 Comments

  1. Nano supports right click paste. I’ve done that for a long time. Great article. Straight to the point.

  2. Very good post, althought you can copy/paste the test into Nano editor. You just need to press Ctrl + Shift + C/Ctrl + Shift + V.
    I hope that helps.
    Thank you for the topic 🙂

    P.S. Does anybody have some issues with oh-my-posh view in VS Code? I think angles are not displaying for me. Can anybody give an advise for this issue? Thanks in advance

    1. You seem to not comprehend the essence of this article. This is about Windows Terminal. In particular PowerShell. Linux doesn’t have anything to do with it. *facepalm*

      People like you make Linux users look bad.

  3. Been using WT since beta, and love it. Also got most of my tips from Hanselman. I would add that you should not need to go through the process of copying and pasting the $PROFILE string into Notepad – you should be able to just do `notepad $PROFILE` from a posh prompt, and it will open Notepad, prompt it to create the file if it doesn’t exist, and so on. Easy peasy.
    Of course, if you really want to go nuts, you can install Chocolatey, then use that to install Notepad++, and then do `notepad++ $profile` instead. I even take it a step further and create an alias in Posh (in my profile, natch) to Notepad++, so I can just do `npp $profile`. And so on, and so forth.

    1. @MikeLoux Yes same here started it with beta .,. and since then works like charm with wsl2…. big cheers to hanselman… dat soothing tone humor n superb content.
      @Arjun really nice article buddy .. remember those initial struggling days with ohmyzosh … cheers 🙂

Leave a Reply