# JanDeDobbeleer/oh-my-posh

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/jandedobbeleer-oh-my-posh).**

21,559 stars · 2,697 forks · Go · mit

## Links

- GitHub: https://github.com/JanDeDobbeleer/oh-my-posh
- Homepage: https://ohmyposh.dev
- awesome-repositories: https://awesome-repositories.com/repository/jandedobbeleer-oh-my-posh.md

## Topics

`bash` `cmd` `fish` `fish-shell` `git` `golang` `hacktoberfest` `nerd-fonts` `nushell` `powerline` `powershell` `prompt` `prompt-toolkit` `shell-prompt` `starship` `tooltips` `zsh`

## Description

This project is a cross-platform shell prompt engine designed to render dynamic, themeable command line interfaces. It functions as a modular system that replaces the native shell prompt with a highly customizable, icon-rich display, allowing users to inject real-time system status, environment context, and visual design elements directly into their terminal workspace.

The engine distinguishes itself through a declarative configuration schema that enables users to define prompt layouts, color palettes, and functional behaviors across different operating systems and shell environments. By utilizing a segment-based architecture, it allows for the independent composition of prompt elements, which can be toggled, reordered, or conditionally displayed based on runtime logic and environment variables.

The tool provides a comprehensive suite of capabilities for managing the terminal interface, including asynchronous data fetching to maintain shell responsiveness, template-based rendering for dynamic content, and performance-oriented caching of segment data. It also includes utilities for configuration management, such as live reloading, schema validation, and the ability to preview visual changes directly within the terminal.

The system integrates with various shell environments through a lightweight initialization layer and supports advanced styling features like icon rendering, text decoration, and dynamic color application. Users can manage their terminal experience through centralized theme files, which support inheritance and overrides to maintain consistent configurations across multiple machines and sessions.

## Tags

### Development Tools & Productivity

- [Terminal Prompt Customizers](https://awesome-repositories.com/f/development-tools-productivity/terminal-shell-cli/cli-tooling-frameworks/cli-tooling/shell-productivity-enhancements/terminal-prompt-customizers.md) — Provides modular blocks and dynamic data rendering to customize command line prompts for improved productivity.
- [Cross-Shell](https://awesome-repositories.com/f/development-tools-productivity/terminal-shell-cli/terminal-cli-enhancements/prompt-engines/cross-shell.md) — Renders dynamic, themeable command line prompts across various shell environments using a declarative configuration schema.
- [Shell Integration](https://awesome-repositories.com/f/development-tools-productivity/terminal-shell-cli/terminal-cli-enhancements/shell-terminal-utilities/automation-integration-tools/shell-integration.md) — Integrates directly into shell environments to replace native prompts with dynamic, themeable interfaces. ([source](https://ohmyposh.dev/docs/installation/prompt))
- [Prompt Configuration Managers](https://awesome-repositories.com/f/development-tools-productivity/prompt-configuration-managers.md) — Maintains and synchronizes prompt settings and theme files across environments using declarative configuration resources. ([source](https://ohmyposh.dev/docs/dsc))
- [Prompt Layout Engines](https://awesome-repositories.com/f/development-tools-productivity/prompt-layout-engines.md) — Structures the shell prompt by arranging visual elements into modular blocks and segments. ([source](https://ohmyposh.dev/docs/))
- [Cross-Platform Shell Managers](https://awesome-repositories.com/f/development-tools-productivity/terminal-shell-cli/terminal-cli-enhancements/shell-terminal-utilities/configuration-environment-management/shell-environments/shell-configuration-frameworks/cross-platform-shell-managers.md) — Ensures consistent shell prompt appearance and behavior across different operating systems using a single configuration file.
- [Command Line Styling Themes](https://awesome-repositories.com/f/development-tools-productivity/terminal-shell-cli/terminal-cli-enhancements/shell-terminal-utilities/visual-styling-prompt-utilities/command-line-styling-themes.md) — Manages visual styles, color palettes, and layout structures for terminal prompts through centralized configuration files.
- [Shell Integration Layers](https://awesome-repositories.com/f/development-tools-productivity/shell-integration-layers.md) — Provides a lightweight initialization layer to bridge the prompt engine with various shell environments.
- [Configuration Hot-Reloaders](https://awesome-repositories.com/f/development-tools-productivity/configuration-hot-reloaders.md) — Updates the shell prompt immediately after configuration changes without requiring a full terminal restart. ([source](https://ohmyposh.dev/docs/installation/customize))
- [Terminal Contextualization](https://awesome-repositories.com/f/development-tools-productivity/development-environments/terminal-contextualization.md) — Provides real-time system status and environment context directly within the command line to improve developer feedback.
- [Template Rendering Engines](https://awesome-repositories.com/f/development-tools-productivity/template-rendering-engines.md) — Evaluates logic and variables at runtime to generate dynamic prompt strings via a text processing engine.

### Operating Systems & Systems Programming

- [Shell Prompt Themes](https://awesome-repositories.com/f/operating-systems-systems-programming/terminal-command-line-environments/terminal-customization-tools/terminal-customization/shell-prompt-themes.md) — Loads and applies theme configurations to define the appearance and behavior of the shell prompt. ([source](https://ohmyposh.dev/docs/installation/customize))
- [Prompt Customization Tools](https://awesome-repositories.com/f/operating-systems-systems-programming/terminal-command-line-environments/terminal-customization-tools/terminal-customization/prompt-customization-tools.md) — Configures the visual appearance of prompt segments using predefined layout styles. ([source](https://ohmyposh.dev/docs/configuration/segment))
- [Prompt Segment Controllers](https://awesome-repositories.com/f/operating-systems-systems-programming/terminal-command-line-environments/terminal-customization-tools/terminal-prompt-configuration/prompt-segment-controllers.md) — Provides logic to conditionally display or hide specific prompt segments based on directory patterns. ([source](https://ohmyposh.dev/docs/configuration/segment))
- [ANSI Escape Sequence Renderers](https://awesome-repositories.com/f/operating-systems-systems-programming/terminal-command-line-environments/terminal-management/output-rendering-engines/ansi-escape-sequence-renderers.md) — Translates high-level styling definitions into standard terminal control codes for consistent cross-platform visual output.

### Graphics & Multimedia

- [Icon Fonts](https://awesome-repositories.com/f/graphics-multimedia/graphics-and-media/icon-fonts.md) — Renders graphical symbols and icons in the command line using patched fonts. ([source](https://ohmyposh.dev/docs/installation/fonts))

### Software Engineering & Architecture

- [Declarative Configurations](https://awesome-repositories.com/f/software-engineering-architecture/declarative-configurations.md) — Uses structured data files to define visual layouts and functional behaviors for the command line interface.
- [Modular Architectures](https://awesome-repositories.com/f/software-engineering-architecture/modular-architectures.md) — Constructs prompts by composing independent, isolated components that can be toggled or reordered.

### User Interface & Experience

- [Terminal Interface Enhancements](https://awesome-repositories.com/f/user-interface-experience/terminal-interface-enhancements.md) — Decorates shell prompts with icons, colors, and conditional logic to create a highly readable command line workspace.
