This repository provides a custom theme configuration for Oh My Posh, a cross-platform prompt theming engine for shells like PowerShell, Bash, and Zsh. Inspired by the AtomicBit theme, this project aims to deliver a visually rich, highly informative, and developer-friendly prompt experience. It is designed for users who want a modern, customizable shell prompt with enhanced status indicators, dynamic segments, and consistent appearance across Windows, Linux, and macOS terminals.
Whether you’re a developer or power user, this theme helps you work faster and smarter by making your shell prompt more informative and visually appealing.
See: General Configuration • Theme Files • Segment Docs (example: Git)
[NOTE] This theme is highly customizable–feel free to tweak colors and segments! 🚀
This theme is a highly customized configuration for Oh My Posh, designed to provide a visually rich, informative, and efficient prompt for your shell. It leverages advanced features of Oh My Posh, including segment styling, dynamic templates, mapped locations, and tooltips for various development environments.
Docs: JSON Schema (section: Validation) · Block Config · Segment Config
Relevant segments: shell · root · path · git · executiontime · status
Contains segments for:
Relevant segments: sysinfo · os · time · weather · battery
Contains segments for:
Relevant segments: promptcounter · upgrade · root
Contains segments for:
Relevant segments: text (decorative line) · session · status
Contains segments for:
Docs: Templates · Mapped Locations · Caching (section removed: see General Config for related settings) · Styles & Separators (see General Config) · Tooltips
Docs: Installation: Windows · macOS · Linux · Fonts · Customize
oh-my-posh init pwsh --config "https://raw.githubusercontent.com/Nick2bad4u/OhMyPosh-Atomic-Enhanced/main/OhMyPosh-Atomic-Custom.json" | Invoke-Expression
OhMyPosh-Atomic-Custom.json
) to your system. Set your shell to use this theme with Oh My Posh:oh-my-posh init pwsh --config "<path-to>/OhMyPosh-Atomic-Custom.json" | Invoke-Expression
Customize mapped locations, icons, and colors as needed in the JSON file.
Docs: Segment Config · Templates Guide · Palette & Colors · Tooltips
For more details, see the Oh My Posh documentation.
For comprehensive guides, configuration options, and troubleshooting, refer to the official Oh My Posh documentation at https://ohmyposh.dev/docs.
The theme centralizes all colors in a palette
so segments and templates stay consistent and easy to tweak. Colors are grouped by functional intent rather than pure hue. Use p:<key>
anywhere a color is accepted (foreground/background, templates like <p:key>
or <p:fg,p:bg>
).
Group | Key | Description |
---|---|---|
Core / Base | accent |
Primary accent and prompt line markers. |
black , white |
Base monochrome anchors. | |
Blues (Shell / Time / Info) | blue_primary |
Shell segment background & transient prompt color. |
blue_time |
Time and connection segments. | |
blue_tooltip |
Tooltip foreground accents. | |
windows_blue |
Windows registry/version segment. | |
python_blue |
Python runtime background. | |
navy_text |
Dark readable foreground on bright yellows. | |
Purples (Session / Branch State / Execution) | purple_session |
Session username & debug banners. |
purple_ahead |
Git ahead/behind highlighting. | |
purple_exec |
Execution time segment. | |
violet_project |
Project/workspace segment. | |
Reds & Pinks (Errors / Alerts) | red_alert |
Root/admin & error emphasis. |
red_deleted |
Git deleted files counter. | |
maroon_error |
Error status background. | |
pink_error_line |
Error line symbol in multiline prompts. | |
pink_status_fail |
Failure state in status templates. | |
Oranges (Path / Battery / Java / General Warm Accents) | orange |
Path and tooltip path segment. |
orange_unmerged |
Git unmerged count. | |
orange_battery |
Battery base color. | |
java_orange |
Java version tooltip. | |
Yellows (Attention / Status / Update) | yellow_bright |
Git base background & root foreground; high-attention blocks. |
yellow_modified |
Git modified files. | |
yellow_git_changed |
Git working/staging changed blend. | |
yellow_update |
Upgrade notification segment. | |
yellow_root_alt |
Alt root indicator (rprompt). | |
yellow_discharging |
Battery discharging state. | |
Greens (Success / Health / Battery / Helpers) | green_added |
Git added files. |
green_ahead |
Combined ahead/behind git state. | |
green_full |
Battery full state. | |
green_success |
Command success background template. | |
green_help |
Help / generic info text badge. | |
green_valid_line |
Valid line symbol. | |
green_charging |
Battery charging state. | |
Cyans | cyan_renamed |
Git renamed files count. |
cyan_status_fg |
Status indicator foreground (multiline tail). | |
Magenta | magenta_copied |
Git copied files count. |
Weather / Misc | pink_weather |
Weather segment background. |
Grays (Neutral/UI Framing) | gray_os |
OS segment background. |
gray_os_fg |
OS / neutral text foreground & reused for subtle text. | |
gray_untracked |
Git untracked file count. | |
gray_prompt_count_bg |
Prompt count background. | |
gray_prompt_count_fg |
Prompt count foreground. | |
gray_path_fg |
Path tooltip foreground & neutral dark text. | |
Language / Tool Specific | node_green |
Node.js / package manager tooltip background. |
python_yellow |
Python secondary (logo yellow). |
Examples:
"foreground": "p:accent"
"background": "p:blue_primary"
"template": "<p:green_success> OK </><p:red_alert> ERR </>"
"background_templates": ["p:maroon_error"]
This structure lets you retheme quickly: adjust a palette value once and every segment using it updates automatically.
The included validate-palette.ps1
script (located in the root of this repository) checks that every p:<key>
reference in the config matches a palette entry. It also reports any unused palette keys.
[!WARNING] Always run the validation script after changes to avoid palette mismatches! ⚠️
Note: Requires PowerShell 7 or later. No external modules are needed; the script uses only built-in PowerShell features.
Note: Run the following command from the repository root to ensure correct results.
Run it (from repo root):
pwsh ./validate-palette.ps1
Exit codes:
0
clean (no missing/unused)2
missing references3
only unused keysAfter making changes to the palette or theme configuration, run this script to ensure all palette references are valid and unused keys are reported–helping keep your configuration clean and error-free.