OhMyPosh-Atomic-Enhanced

🚀 OhMyPosh Atomic Enhanced

GitHub stars GitHub issues License: UnLicense Oh My Posh

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.

Windows Terminal themed prompt screenshot
Windows Terminal showcasing the Atomic Enhanced Oh My Posh prompt with left/right blocks, git status, and dynamic battery/system info.
VS Code integrated terminal themed prompt screenshot
VS Code Integrated Terminal using the same theme, demonstrating consistent appearance across environments.

🧩 How the OhMyPosh Custom Theme Works

See: General ConfigurationTheme 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.

🧱 Theme Structure

Docs: JSON Schema (section: Validation) · Block Config · Segment Config

◀️ Left-Aligned Prompt

Relevant segments: shell · root · path · git · executiontime · status

Contains segments for:

▶️ Right-Aligned Prompt

Relevant segments: sysinfo · os · time · weather · battery

Contains segments for:

➡️ Right Prompt (RPROMPT)

Relevant segments: promptcounter · upgrade · root

Contains segments for:

⤵️ Newline Block

Relevant segments: text (decorative line) · session · status

Contains segments for:

✨ Key Features

Docs: Templates · Mapped Locations · Caching (section removed: see General Config for related settings) · Styles & Separators (see General Config) · Tooltips

📦 Oh-My-Posh Installation

Docs: Installation: Windows · macOS · Linux · Fonts · Customize

  1. Windows
  2. Linux
  3. MacOS

🛠️ How to Use

  1. Quick Start (from GitHub URL): You can use the theme directly from the GitHub repository without downloading it:
oh-my-posh init pwsh --config "https://raw.githubusercontent.com/Nick2bad4u/OhMyPosh-Atomic-Enhanced/main/OhMyPosh-Atomic-Custom.json" | Invoke-Expression
  1. Local Setup: Copy the theme JSON (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.

🧪 Advanced Customization

Docs: Segment Config · Templates Guide · Palette & Colors · Tooltips

For more details, see the Oh My Posh documentation.

📚 Documentation

For comprehensive guides, configuration options, and troubleshooting, refer to the official Oh My Posh documentation at https://ohmyposh.dev/docs.

🎨 Palette & Color Groups

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).  

Using Palette Entries

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:

After 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.

RepoBeats Metrics