Git Blog

Releasing the Power of Git

Interview with Oh My Posh Creator

In simple terms, Oh My Posh can customize your terminal and make it more visually pleasing. According to the official Oh My Posh documentation, “Oh My Posh is a custom prompt engine for any shell that has the ability to adjust the prompt string with a function or variable”. With 275k GitHub Downloads, 1.2k forks, and 6.8k stars on the Oh My Posh GitHub Repo, developers from around the world use Oh My Posh to boost their terminals and improve their workflows.

We’re also proud to have the opportunity to highlight the creator of the project, Jan De Dobbeleer. Jan is a proud open source contributor, Microsoft MVP, GitHub Star, and GitKraken Ambassador. When he isn’t coding, Jan spends most of his time running, rollerblading, and enjoying the outdoors.

We had the pleasure of sitting down with Jan to discuss how Oh My Posh started, how it has evolved, how open source enthusiasts can contribute, the role GitKraken Client has played in Oh My Posh development, and more!

Learn What Jan Has to Say About the Following Oh My Posh Topics

The Inspiration Behind Oh My Posh

When Jan started working on Oh My Posh, he didn’t know what open source was and certainly didn’t expect Oh My Posh to become a tool that hundreds of developers would use daily. At the time, many of the developers Jan worked with were Linux users, whose terminals were visually superior to Jan’s Windows terminal. Jan began creating Oh My Posh with the intent to prove to himself and others that it was possible to have a good developer experience using Windows and PowerShell.

Eventually, Jan created a tool that allowed him to leverage a visually pleasing, CLI-first development experience from a device using Windows and PowerShell. Once he had a working copy of Oh My Posh for himself, Jan recalls people reaching out to him on Twitter and other online platforms asking him to share it. As developers showed increasing interest in Oh My Posh and a community started to form, Jan realized that he wanted to share his work with as many people as possible and began working on a cross-shell version of Oh My Posh. 

Oh My Posh – Not Just for PowerShell

Making Oh My Posh available on more shells than just PowerShell required significant time and effort from Jan as well as massive support from the open source community. Those efforts proved to be worth it because, as Jan describes it, “That’s the moment when Oh My Posh really skyrocketed”. 

While many developers currently take advantage of the cross-shell compatibility offered by Oh My Posh, Jan mentioned that he still wishes more people knew that Oh My Posh can be used in a variety of shells other than PowerShell. Shells that developers can use Oh My Posh in currently include: fish, ZSH, Bash, CMD, and nushell

Oh My Posh Themes

The vast selection of Oh My Posh themes is one of the major reasons for the tools’ popularity. There are over 100 Oh My Posh themes that are available after some simple configuration. The first theme that Oh My Posh shows you is the default jandedobbeleer

You can customize your terminal with an Oh My Posh theme that fits your preference with these simple steps: 

  1. Navigate to the Themes section of Oh My Posh’s official docs and find the theme that best matches your preferred look for your shell*
  2. Select 🚀 Get started > 💅 Customize from the left navigation menu to open the Customize section
  3. Select your shell from the Get inspiration section, to view an example of the required syntax to change the theme
  4. Copy the line of code provided for your shell by selecting the Copy icon on the right of the example
  5. Paste the line of code you copied into your terminal
  6. Replace the text jandedobbeleer with your desired theme name and hit Enter

*a quick note: some Oh My Posh themes require a specific Nerd Font to work properly. Themes with minimal in the title don’t require Nerd Font, but all other options do. 

Oh My Posh theme options

Examples of Oh My Posh Themes

You’ll need to reload your shell to see your selected Oh My Posh theme implemented. To reload your shell, follow the instructions on the Customize section of the Oh My Posh docs for your shell of choice. 

If you run into any issues, see the Oh My Posh FAQ section for further help. 

How to Contribute to Oh My Posh

During the interview, Jan explained that, “one of the challenges of being an open source maintainer is that everything is done after and in-between hours”. He went on to explain that there is still a major need for contributions from the open source community to continue to meet the demands for Oh My Posh. 

There are opportunities to contribute to Oh My Posh for developers of any experience level. If you’re eager to help but have limited programming knowledge, you can start by correcting typos in the project documentation. Typo fixes and documentation updates are simple but necessary contributions that help future users and contributors alike. To start contributing in this manner, perform the following: 

  1. Navigate to Oh My Posh GitHub Repo
  2. Select .md files in the project and review for typos/syntax errors

If you identify a section of documentation that needs to be fixed or otherwise edited

  1. Fork the repo by selecting the Fork icon from the top right toolbar on GitHub
  2. Make the necessary change(s) locally, and submit a GitHub pull request

There are also opportunities for more experienced developers to make functional contributions to Oh My Posh. If you have an idea for a new Oh My Posh feature, you’re encouraged to fork the repo, make your changes, and submit a Git pull request. For inspiration on what improvements can be made to the project and requested Oh My Posh features, visit the Ideas section on the GitHub repo.

The open source community is extremely unique; a majority of contributions represent donated time by individuals trying to make something new or better for someone else. Oh My Posh is a great project to contribute to and get exposure to the world of open source.

Oh My Posh and GitKraken Client

Oh My Posh creator, Jan has been a GitKraken Ambassador since May 2021 and a GitKraken Client user for even longer. 

When asked why he loves and recommends GitKraken Client, Jan explained that “GitKraken Client allows users to complete really complicated tasks in a very straightforward way”. Try GitKraken Client for free to see just how simple it can make traditionally complex Git commands and actions like Git rebase, Git revert commit, Git merge, and more!

Jan uses GitKraken Client to help him build Oh My Posh. In fact, if you take a look at the Oh My Posh README.md file on GitHub, you’ll see the following note, “This repo was made with love using GitKraken.”

Oh My Posh README file with the text "This repo was made with love using GitKraken".

Jan continues to use GitKraken Client to support his everyday workflow and add to Oh My Posh. As a GitKraken Ambassador, he aims to help other developers use GitKraken Client to take their workflows to the next level. 

Jan De Dobbeleer uses GitKraken Client to build Oh My Posh. Download GitKraken Client and see what you can create!

Join the Oh My Posh and GitKraken Communities

Both Oh My Posh and GitKraken Client have vibrant communities available for you to share your love for the tools, ask questions, connect with like-minded people, and more! 

Join Discussions on the Oh My Posh GitHub Repo

Join the GitKraken Public Slack 

Joining a community is a great way to stay up-to-date on relevant news, connect with peers, and work on significant projects. So get out there, meet new people, and start contributing; you’ll be amazed at what you can create! 

Like this post? Share it!

Share on facebook
Share on twitter
Share on linkedin

Read More Articles

GitLens logo with magnifying glass with a Git logo inside "Get Git Info with GitLens"

Get Git Info with GitLens

GitLens is an extension for VS Code that helps developers get powerful data hidden in Git repos. Learn how to get Git info with GitLens+, GitLens blame, and CodeLens.

Read More »
tree trunk with a leaf on it

Trunk Based Development

Trunk based development can be less complex than other Git branching strategies and is well suited for CI/CD. Compare trunk based development vs Gitflow.

Read More »

Make Git Easier, Safer &
More Powerful

with GitKraken