- Install Oh My Posh (read the docs)
- Install a Nerd Font
- Set the font as default in your terminal (tutorial by TroubleChute)
- Add my themes in the themes folder (defaults to
%LOCALAPPDATA%\Programs\oh-my-posh\themes
) - Edit your PowerShell profile script (
notepad $PROFILE
) and add this :
$ErrorActionPreference = "SilentlyContinue"
Write-Host "PowerShell $($PSVersionTable.PSVersion.Major).$($PSVersionTable.PSVersion.Minor).$($PSVersionTable.PSVersion.Patch)"
Write-Host ""
$ErrorActionPreference = "Continue"
oh-my-posh init pwsh --config 'C:\Users\EDM115\AppData\Local\Programs\oh-my-posh\themes\EDM115.omp.json' | Invoke-Expression
Obviously change the config path, and the name depending of the theme you want. The first 3 lines have to be at the very top, as they will suppress the annoying "theme took xx ms to load" message.
- Add my themes in the themes folder (defaults to
~/.local/share/oh-my-posh/themes
) - Edit your Zsh profile script (
nano ~/.zshrc
) and add this :
# Oh My Posh
eval "$(oh-my-posh --init --shell zsh --config ~/.local/share/oh-my-posh/themes/EDM115.omp.json)"
You can change the config path, and the name depending of the theme you want.
- Both themes uses the Dracula color scheme
- Included segments (in order) :
- session
- root
- os
- path
- git
- node
- npm
- java
- php
- python
- time
- executiontime
- Python shows even outside of a venv
- Time shows seconds
- Git have some changes :
- Shows changes in the worktree (both staged and unstaged)
- Links to the upstream (on the git provider icon)
- Shows by how many commits we are ahead or behind the upstream
- Shows the branch name
- Path shows the full path, not only the current folder
The main theme I made is EDM115.omp.json
It features all elements I wanted and is clean
But after seing the work of thecodermehedi and RainbowCreamPie, I decided to create EDM115-newline.omp.json
, which skips a line and shows unessential modules rounded on the right
These themes are licenced under the MIT License
Also, feel free to edit them, change colors, icons, modules, ...