{ "$schema": "http://json-schema.org/draft-07/schema", "$id": "http://example.com/example.json", "type": "object", "title": "The Oh My Posh theme definition", "description": "https://ohmyposh.dev/docs/config-overview", "definitions": { "color": { "anyOf": [ { "$ref": "#/definitions/color_string" }, { "$ref": "#/definitions/palette_reference" } ] }, "color_string": { "type": "string", "pattern": "^(#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})|black|red|green|yellow|blue|magenta|cyan|white|default|darkGray|lightRed|lightGreen|lightYellow|lightBlue|lightMagenta|lightCyan|lightWhite|transparent|parentBackground|parentForeground|background|foreground)$", "title": "Color string", "description": "https://ohmyposh.dev/docs/config-colors", "format": "color" }, "palette_reference": { "type": "string", "pattern": "^p:.*$", "title": "Palette reference", "description": "https://ohmyposh.dev/docs/config-colors#palette" }, "color_templates": { "type": "array", "title": "Templates to define a color", "description": "https://ohmyposh.dev/docs/config-overview#foreground-templates", "default": [], "items": { "$ref": "#/definitions/template" } }, "fetch_version": { "type": "boolean", "title": "Fetch Version", "description": "Fetch the version number", "default": true }, "http_timeout": { "type": "integer", "title": "Http request timeout", "description": "Timeout value to use for http request", "default": 20 }, "display_mode": { "type": "string", "title": "Display Mode", "description": "Determines whether the segment is displayed always or only if a file matching the extensions are present in the current folder", "enum": ["always", "files", "environment", "context"], "default": "context" }, "missing_command_text": { "type": "string", "title": "Missing command text", "description": "The string to display when the command is not available", "default": "" }, "template": { "type": "string", "title": "Template text", "description": "https://ohmyposh.dev/docs/config-templates", "default": "" }, "extra_prompt": { "type": "object", "default": {}, "properties": { "template": { "type": "string", "title": "Prompt Template" }, "background": { "$ref": "#/definitions/color" }, "foreground": { "$ref": "#/definitions/color" } } }, "block": { "type": "object", "description": "https://ohmyposh.dev/docs/config-overview#block", "allOf": [ { "if": { "properties": { "type": { "const": "prompt" } } }, "then": { "required": ["type", "alignment", "segments"], "title": "Prompt definition, contains 1 or more segments to render" } }, { "if": { "properties": { "type": { "const": "rprompt" } } }, "then": { "required": ["type", "segments"], "title": "RPrompt definition, contains 1 or more segments to render to the right of the cursor" } } ], "properties": { "type": { "type": "string", "title": "Block type", "description": "https://ohmyposh.dev/docs/config-overview#type", "enum": ["prompt", "rprompt"], "default": "prompt" }, "alignment": { "type": "string", "title": "Block alignment", "description": "https://ohmyposh.dev/docs/config-overview#alignment", "enum": ["left", "right"], "default": "left" }, "newline": { "type": "boolean", "title": "Newline", "description": "https://ohmyposh.dev/docs/config-overview#newline", "default": false }, "vertical_offset": { "type": "integer", "title": "Block vertical offset", "description": "https://ohmyposh.dev/docs/config-overview#vertical-offset" }, "horizontal-offset": { "type": "integer", "title": "Block vertical offset", "description": "https://ohmyposh.dev/docs/config-overview#horizontal-offset" }, "segments": { "type": "array", "title": "Segments list, prompt elements to display based on context", "description": "https://ohmyposh.dev/docs/config-overview#segment", "default": [], "items": { "$ref": "#/definitions/segment" } } } }, "segment": { "type": "object", "title": "A segment", "description": "https://ohmyposh.dev/docs/config-overview#segment", "default": {}, "required": ["type", "style"], "properties": { "type": { "type": "string", "title": "Segment Type", "description": "https://ohmyposh.dev/docs/config-overview#type-1", "enum": [ "session", "path", "git", "exit", "python", "root", "time", "text", "command", "battery", "spotify", "shell", "node", "os", "az", "kubectl", "dotnet", "terraform", "go", "julia", "ruby", "ytm", "executiontime", "aws", "java", "poshgit", "azfunc", "crystal", "dart", "rust", "owm", "sysinfo", "strava", "angular", "php", "wakatime", "wifi", "winreg", "plastic", "ipify", "haskell", "ui5tooling", "kotlin", "swift", "npm", "project", "r" ] }, "style": { "type": "string", "title": "Segment Style", "description": "https://ohmyposh.dev/docs/config-overview#style", "enum": ["powerline", "plain", "diamond"] }, "foreground": { "$ref": "#/definitions/color" }, "foreground_templates": { "$ref": "#/definitions/color_templates" }, "background": { "$ref": "#/definitions/color" }, "background_templates": { "$ref": "#/definitions/color_templates" }, "properties": { "type": "object", "title": "Segment Properties, used to change behavior/displaying", "description": "https://ohmyposh.dev/docs/config-overview#properties", "default": {}, "properties": { "template": { "$ref": "#/definitions/template" }, "include_folders": { "type": "array", "title": "If specified, segment will only render in these folders", "description": "https://ohmyposh.dev/docs/config-overview#include--exclude-folders", "default": [], "items": { "type": "string" } }, "exclude_folders": { "type": "array", "title": "Exclude rendering in these folders", "description": "https://ohmyposh.dev/docs/config-overview#include--exclude-folders", "default": [], "items": { "type": "string" } }, "ignore_folders": { "type": "array", "title": "Deprecated - please use `exclude_folders` instead", "description": "https://ohmyposh.dev/docs/config-overview#include--exclude-folders", "default": [], "items": { "type": "string" }, "deprecated": true } } } }, "allOf": [ { "if": { "properties": { "type": { "const": "project" } } }, "then": { "title": "Project Segment", "description": "https://ohmyposh.dev/docs/project" } }, { "if": { "properties": { "type": { "const": "npm" } } }, "then": { "title": "NPM Segment", "description": "https://ohmyposh.dev/docs/npm" } }, { "if": { "properties": { "style": { "const": "powerline" } } }, "then": { "properties": { "powerline_symbol": { "type": "string", "title": "Powerline Symbol", "description": "https://ohmyposh.dev/docs/config-overview#powerline-symbol", "default": "\uE0B0" }, "invert_powerline": { "type": "boolean", "title": "Flip the Powerline symbol vertically", "description": "https://ohmyposh.dev/docs/config-overview#invert-powerline", "default": false } } } }, { "if": { "properties": { "style": { "const": "diamond" } } }, "then": { "properties": { "leading_diamond": { "type": "string", "title": "Leading diamond", "description": "https://ohmyposh.dev/docs/config-overview#leading-diamond", "default": "" }, "trailing_diamond": { "type": "string", "title": "Trailing diamond", "description": "https://ohmyposh.dev/docs/config-overview#trailing-diamond", "default": "" } } } }, { "if": { "properties": { "type": { "const": "az" } } }, "then": { "title": "Azure Segment", "description": "https://ohmyposh.dev/docs/az", "properties": { "source": { "type": "string", "title": "Source", "description": "https://ohmyposh.dev/docs/az#properties", "default": "first_match", "enum": [ "first_match", "cli", "pwsh" ] } } } }, { "if": { "properties": { "type": { "const": "battery" } } }, "then": { "title": "Battery Segment", "description": "https://ohmyposh.dev/docs/battery", "properties": { "properties": { "properties": { "display_error": { "type": "boolean", "title": "Display Error", "description": "Show the error context when failing to retrieve the battery information", "default": false }, "charging_icon": { "type": "string", "title": "Charging Icon", "description": "Text/icon to display on the left when charging", "default": "" }, "discharging_icon": { "type": "string", "title": "discharging Dcon", "description": "Text/icon to display on the left when discharging", "default": "" }, "charged_icon": { "type": "string", "title": "Charged Icon", "description": "Text/icon to display on the left when fully charged", "default": "" } } } } } }, { "if": { "properties": { "type": { "const": "command" } } }, "then": { "title": "Command Segment", "description": "https://ohmyposh.dev/docs/command", "properties": { "properties": { "properties": { "shell": { "type": "string", "title": "Shell", "description": "The shell in which to run the command in. Uses shell -c command under the hood", "default": "bash" }, "command": { "type": "string", "title": "Command", "description": "the command(s) to run", "default": "echo no command specified" } } } } } }, { "if": { "properties": { "type": { "const": "dotnet" } } }, "then": { "title": "Dotnet Segment", "description": "https://ohmyposh.dev/docs/dotnet", "properties": { "properties": { "properties": { "fetch_version": { "$ref": "#/definitions/fetch_version" }, "display_mode": { "$ref": "#/definitions/display_mode" }, "missing_command_text": { "$ref": "#/definitions/missing_command_text" } } } } } }, { "if": { "properties": { "type": { "const": "exit" } } }, "then": { "title": "Exit Segment", "description": "https://ohmyposh.dev/docs/exit", "properties": { "properties": { "properties": { "always_enabled": { "type": "boolean", "title": "Always Enabled", "description": "Always show the status", "default": false } } } } } }, { "if": { "properties": { "type": { "const": "git" } } }, "then": { "title": "Git Segment", "description": "https://ohmyposh.dev/docs/git", "properties": { "properties": { "properties": { "fetch_status": { "type": "boolean", "title": "Display Status", "description": "Display the local changes or not", "default": true }, "fetch_stash_count": { "type": "boolean", "title": "Display Stash Count", "description": "Display the stash count or not", "default": false }, "fetch_worktree_count": { "type": "boolean", "title": "Display Worktree Count", "description": "Display the worktree count or not", "default": false }, "fetch_upstream_icon": { "type": "boolean", "title": "Display Upstream Icon", "description": "Display upstream icon or not", "default": false }, "branch_icon": { "type": "string", "title": "Branch Icon", "description": "The icon to use in front of the git branch name", "default": "\uE0A0 " }, "branch_identical_icon": { "type": "string", "title": "Branch Identical Icon", "description": "The icon to display when remote and local are identical", "default": "\u2261" }, "branch_ahead_icon": { "type": "string", "title": "Branch Ahead Icon", "description": "The icon to display when the local branch is ahead of its remote", "default": "\u2191" }, "branch_behind_icon": { "type": "string", "title": "Branch Behind Icon", "description": "The icon to display when the local branch is behind its remote", "default": "\u2193" }, "branch_gone_icon": { "type": "string", "title": "Branch Gone Icon", "description": "The icon to display when there's no remote branch", "default": "\u2262" }, "commit_icon": { "type": "string", "title": "Commit Icon", "description": "Icon/text to display before the commit context (detached HEAD)", "default": "\uF417" }, "tag_icon": { "type": "string", "title": "Tag Icon", "description": "Icon/text to display before the tag context", "default": "\uF412" }, "rebase_icon": { "type": "string", "title": "Rebase Icon", "description": "Icon/text to display before the context when in a rebase", "default": "\uE728" }, "cherry_pick_icon": { "type": "string", "title": "Cherry-pick Icon", "description": "Icon/text to display before the context when doing a cherry-pick", "default": "\uE29B" }, "revert_icon": { "type": "string", "title": "Revert Icon", "description": "Icon/text to display before the context when doing a revert", "default": "\uF0E2" }, "merge_icon": { "type": "string", "title": "Merge Icon", "description": "Icon/text to display before the merge context", "default": "\uE727" }, "no_commits_icon": { "type": "string", "title": "No Commits Icon", "description": "Icon/text to display when there are no commits in the repo", "default": "\uF594" }, "github_icon": { "type": "string", "title": "Github Icon", "description": "Icon/text to display when the upstream is Github", "default": "\uF408" }, "gitlab_icon": { "type": "string", "title": "Gitlab Icon", "description": "Icon/text to display when the upstream is Gitlab", "default": "\uF296" }, "bitbucket_icon": { "type": "string", "title": "Bitbucket Icon", "description": "Icon/text to display when the upstream is Bitbucket", "default": "\uF171" }, "azure_devops_icon": { "type": "string", "title": "Azure DevOps Icon", "description": "Icon/text to display when the upstream is Azure DevOps", "default": "\uFD03" }, "git_icon": { "type": "string", "title": "Git Icon", "description": "Icon/text to display when the upstream is not known/mapped", "default": "\uE5FB" }, "branch_max_length": { "type": "integer", "title": "Branch max length", "description": "the max length for the displayed branch name where 0 implies full length", "default": 0 } } } } } }, { "if": { "properties": { "type": { "const": "go" } } }, "then": { "title": "Golang Segment", "description": "https://ohmyposh.dev/docs/golang", "properties": { "properties": { "properties": { "fetch_version": { "$ref": "#/definitions/fetch_version" }, "parse_mod_file": { "type": "boolean", "title": "Parse go.mod file", "description": "Parse go.mod file instead of calling out to go to improve performance.", "default": false }, "display_mode": { "$ref": "#/definitions/display_mode" }, "missing_command_text": { "$ref": "#/definitions/missing_command_text" } } } } } }, { "if": { "properties": { "type": { "const": "dart" } } }, "then": { "title": "Dart Segment", "description": "https://ohmyposh.dev/docs/dart", "properties": { "properties": { "properties": { "fetch_version": { "$ref": "#/definitions/fetch_version" }, "display_mode": { "$ref": "#/definitions/display_mode" }, "missing_command_text": { "$ref": "#/definitions/missing_command_text" } } } } } }, { "if": { "properties": { "type": { "const": "crystal" } } }, "then": { "title": "Crystal Segment", "description": "https://ohmyposh.dev/docs/crystal", "properties": { "properties": { "properties": { "fetch_version": { "$ref": "#/definitions/fetch_version" }, "display_mode": { "$ref": "#/definitions/display_mode" }, "missing_command_text": { "$ref": "#/definitions/missing_command_text" } } } } } }, { "if": { "properties": { "type": { "const": "julia" } } }, "then": { "title": "Julia Segment", "description": "https://ohmyposh.dev/docs/julia", "properties": { "properties": { "properties": { "fetch_version": { "$ref": "#/definitions/fetch_version" }, "display_mode": { "$ref": "#/definitions/display_mode" }, "missing_command_text": { "$ref": "#/definitions/missing_command_text" } } } } } }, { "if": { "properties": { "type": { "const": "php" } } }, "then": { "title": "PHP Segment", "description": "https://ohmyposh.dev/docs/php", "properties": { "properties": { "properties": { "fetch_version": { "$ref": "#/definitions/fetch_version" }, "display_mode": { "$ref": "#/definitions/display_mode" }, "missing_command_text": { "$ref": "#/definitions/missing_command_text" } } } } } }, { "if": { "properties": { "type": { "const": "java" } } }, "then": { "title": "Java Segment", "description": "https://ohmyposh.dev/docs/java", "properties": { "properties": { "properties": { "fetch_version": { "$ref": "#/definitions/fetch_version" }, "display_mode": { "$ref": "#/definitions/display_mode" }, "missing_command_text": { "$ref": "#/definitions/missing_command_text" } } } } } }, { "if": { "properties": { "type": { "const": "ruby" } } }, "then": { "title": "Ruby Segment", "description": "https://ohmyposh.dev/docs/ruby", "properties": { "properties": { "properties": { "fetch_version": { "$ref": "#/definitions/fetch_version" }, "display_mode": { "$ref": "#/definitions/display_mode" }, "missing_command_text": { "$ref": "#/definitions/missing_command_text" } } } } } }, { "if": { "properties": { "type": { "const": "rust" } } }, "then": { "title": "Rust Segment", "description": "https://ohmyposh.dev/docs/rust", "properties": { "properties": { "properties": { "fetch_version": { "$ref": "#/definitions/fetch_version" }, "display_mode": { "$ref": "#/definitions/display_mode" }, "missing_command_text": { "$ref": "#/definitions/missing_command_text" } } } } } }, { "if": { "properties": { "type": { "const": "kubectl" } } }, "then": { "title": "Kubectl Segment", "description": "https://ohmyposh.dev/docs/kubectl", "properties": { "properties": { "properties": { "display_error": { "type": "boolean", "title": "Display Error", "description": "Show the error context when failing to retrieve the kubectl information", "default": false }, "parse_kubeconfig": { "type": "boolean", "title": "Parse kubeconfig", "description": "Parse kubeconfig files instead of calling out to kubectl to improve performance.", "default": false } } } } } }, { "if": { "properties": { "type": { "const": "aws" } } }, "then": { "title": "AWS Segment", "description": "https://ohmyposh.dev/docs/aws", "properties": { "properties": { "properties": { "display_default": { "type": "boolean", "title": "Display Default User Profile", "description": "Display the segment when default user or not", "default": true } } } } } }, { "if": { "properties": { "type": { "const": "node" } } }, "then": { "title": "Node Segment", "description": "https://ohmyposh.dev/docs/node", "properties": { "properties": { "properties": { "fetch_version": { "$ref": "#/definitions/fetch_version" }, "display_mode": { "$ref": "#/definitions/display_mode" }, "missing_command_text": { "$ref": "#/definitions/missing_command_text" }, "fetch_package_manager": { "type": "boolean", "title": "Fetch Display Package Manager", "description": "Assigns the Yarn or NPM icon to .PackageManagerIcon", "default": false }, "yarn_icon": { "type": "string", "title": "Yarn Icon", "description": "Icon/text to use for Yarn", "default": " \uF61A" }, "npm_icon": { "type": "string", "title": "NPM Icon", "description": "Icon/text to use for NPM", "default": " \uE71E" } } } } } }, { "if": { "properties": { "type": { "const": "azfunc" } } }, "then": { "title": "Azure Function Segment", "description": "https://ohmyposh.dev/docs/azfunc", "properties": { "properties": { "properties": { "fetch_version": { "$ref": "#/definitions/fetch_version" }, "display_mode": { "$ref": "#/definitions/display_mode" }, "missing_command_text": { "$ref": "#/definitions/missing_command_text" } } } } } }, { "if": { "properties": { "type": { "const": "os" } } }, "then": { "title": "Operating System Segment", "description": "https://ohmyposh.dev/docs/os", "properties": { "properties": { "properties": { "macos": { "type": "string", "title": "MacOS Icon", "description": "Icon/text to use for macOS", "default": "\uF179" }, "linux": { "type": "string", "title": "Linux Icon", "description": "Icon/text to use for Linux", "default": "\uF17C" }, "windows": { "type": "string", "title": "Windows Icon", "description": "Icon/text to use for Windows", "default": "\uE62A" }, "display_distro_name": { "type": "boolean", "title": "Display Distro Name", "description": "Display the distro name or icon or not", "default": false }, "alpine": { "type": "string", "title": "Alpine Icon", "description": "The icon to use for Alpine", "default": "\uF300" }, "aosc": { "type": "string", "title": "Aosc Icon", "description": "The icon to use for Aosc", "default": "\uF301" }, "arch": { "type": "string", "title": "Arch Icon", "description": "The icon to use for Arch", "default": "\uF303" }, "centos": { "type": "string", "title": "Centos Icon", "description": "The icon to use for Centos", "default": "\uF303" }, "coreos": { "type": "string", "title": "Coreos Icon", "description": "The icon to use for Coreos", "default": "\uF305" }, "debian": { "type": "string", "title": "Debian Icon", "description": "The icon to use for Debian", "default": "\uF306" }, "devuan": { "type": "string", "title": "Devuan Icon", "description": "The icon to use for Devuan", "default": "\uF307" }, "raspbian": { "type": "string", "title": "Raspbian Icon", "description": "The icon to use for Raspbian", "default": "\uF315" }, "elementary": { "type": "string", "title": "Elementary Icon", "description": "The icon to use for Elementary", "default": "\uF309" }, "fedora": { "type": "string", "title": "Fedora Icon", "description": "The icon to use for Fedora", "default": "\uF30a" }, "gentoo": { "type": "string", "title": "Gentoo Icon", "description": "The icon to use for Gentoo", "default": "\uF30d" }, "mageia": { "type": "string", "title": "Mageia Icon", "description": "The icon to use for Mageia", "default": "\uF310" }, "manjaro": { "type": "string", "title": "Manjaro Icon", "description": "The icon to use for Manjaro", "default": "\uF312" }, "mint": { "type": "string", "title": "Mint Icon", "description": "The icon to use for Mint", "default": "\uF30e" }, "nixos": { "type": "string", "title": "Nixos Icon", "description": "The icon to use for Nixos", "default": "\uF313" }, "opensuse": { "type": "string", "title": "Opensuse Icon", "description": "The icon to use for Opensuse", "default": "\uF314" }, "sabayon": { "type": "string", "title": "Sabayon Icon", "description": "The icon to use for Sabayon", "default": "\uF317" }, "slackware": { "type": "string", "title": "Slackware Icon", "description": "The icon to use for Slackware", "default": "\uF319" }, "ubuntu": { "type": "string", "title": "Ubuntu Icon", "description": "The icon to use for Ubuntu", "default": "\uF31b" } } } } } }, { "if": { "properties": { "type": { "const": "path" } } }, "then": { "title": "Path Segment", "description": "https://ohmyposh.dev/docs/path", "properties": { "properties": { "properties": { "folder_separator_icon": { "type": "string", "title": "Folder Separator Icon", "description": "The symbol to use as a separator between folders", "default": "/" }, "home_icon": { "type": "string", "title": "Home Icon", "description": "The icon to display when at $HOME", "default": "/" }, "folder_icon": { "type": "string", "title": "Folder Icon", "description": "The con to use as a folder indication", "default": ".." }, "windows_registry_icon": { "type": "string", "title": "Windows Registry Icon", "description": "The icon to display when in the Windows registry", "default": "\uE0B1" }, "style": { "type": "string", "title": "The Path Style", "description": "How to display the current path", "enum": [ "agnoster", "agnoster_full", "agnoster_short", "agnoster_left", "short", "full", "folder", "mixed", "letter", "unique" ], "default": "folder" }, "mapped_locations": { "type": "object", "title": "Mapped Locations", "description": "Custom glyph/text for specific paths", "default": {} }, "max_depth": { "type": "integer", "title": "Maximum Depth", "description": "Maximum path depth to display without shortening", "default": 1 }, "mapped_locations_enabled": { "type": "boolean", "title": "Enable the Mapped Locations feature", "description": "Replace known locations in the path with the replacements before applying the style.", "default": true }, "mixed_threshold": { "type": "integer", "title": "Mixed threshold", "description": "The maximum length of a path segment that will be displayed when using mixed style.", "default": 4 }, "hide_root_location": { "type": "boolean", "title": "Hide the root location", "description": "Hides the root location, when using agnoster_short style, if it doesn't fit in the last max_depth folders.", "default": false } } } } } }, { "if": { "properties": { "type": { "const": "python" } } }, "then": { "title": "Python Segment", "description": "https://ohmyposh.dev/docs/python", "properties": { "properties": { "properties": { "fetch_virtual_env": { "type": "boolean", "title": "Fetch Virtual Env", "description": "Fetch the name of the virtualenv or not", "default": true }, "display_mode": { "$ref": "#/definitions/display_mode" }, "missing_command_text": { "$ref": "#/definitions/missing_command_text" } } } } } }, { "if": { "properties": { "type": { "const": "root" } } }, "then": { "title": "Root Segment", "description": "https://ohmyposh.dev/docs/root" } }, { "if": { "properties": { "type": { "const": "session" } } }, "then": { "title": "Session Segment", "description": "https://ohmyposh.dev/docs/session", "properties": { "properties": { "properties": { "ssh_icon": { "type": "string", "title": "SSH Icon", "description": "Text/icon to display first when in an active SSH session", "default": "\uF817" } } } } } }, { "if": { "properties": { "type": { "const": "shell" } } }, "then": { "title": "Shell Segment", "description": "https://ohmyposh.dev/docs/shell", "properties": { "properties": { "properties": { "custom_text": { "type": "object", "title": "Custom Text", "description": "Custom glyph/text for specific shells", "default": {} } } } } } }, { "if": { "properties": { "type": { "const": "spotify" } } }, "then": { "title": "Spotify Segment", "description": "https://ohmyposh.dev/docs/spotify", "properties": { "properties": { "properties": { "playing_icon": { "type": "string", "title": "User Info Separator", "description": "Text/icon to show when playing", "default": "\uE602" }, "paused_icon": { "type": "string", "title": "SSH Icon", "description": "Text/icon to show when paused", "default": "\uF8E3" }, "stopped_icon": { "type": "string", "title": "SSH Icon", "description": "Text/icon to show when stopped", "default": "\uF04D" }, "track_separator": { "type": "string", "title": "SSH Icon", "description": "Text/icon to put between the artist and song name", "default": " - " } } } } } }, { "if": { "properties": { "type": { "const": "terraform" } } }, "then": { "title": "Terraform Segment", "description": "https://ohmyposh.dev/docs/terraform" } }, { "if": { "properties": { "type": { "const": "text" } } }, "then": { "title": "Text Segment", "description": "https://ohmyposh.dev/docs/text", "properties": { "properties": { "properties": { "text": { "type": "string", "title": "Text", "description": "Text/icon to display", "default": "" } } } } } }, { "if": { "properties": { "type": { "const": "time" } } }, "then": { "title": "Time Segment", "description": "https://ohmyposh.dev/docs/time", "properties": { "properties": { "properties": { "time_format": { "type": "string", "title": "Time Format", "description": "Format to use, follows the golang standard: https://gobyexample.com/time-formatting-parsing", "default": "15:04:05" } } } } } }, { "if": { "properties": { "type": { "const": "ytm" } } }, "then": { "title": "YouTube Music Desktop App Segment", "description": "https://ohmyposh.dev/docs/ytm", "properties": { "properties": { "properties": { "playing_icon": { "type": "string", "title": "User Info Separator", "description": "Text/icon to show when playing", "default": "\uE602" }, "paused_icon": { "type": "string", "title": "SSH Icon", "description": "Text/icon to show when paused", "default": "\uF8E3" }, "stopped_icon": { "type": "string", "title": "SSH Icon", "description": "Text/icon to show when stopped", "default": "\uF04D" }, "track_separator": { "type": "string", "title": "SSH Icon", "description": "Text/icon to put between the artist and song name", "default": " - " }, "api_url": { "type": "string", "title": "API URL", "description": "The YTMDA Remote Control API URL", "default": "http://127.0.0.1:9863" }, "http_timeout": { "$ref": "#/definitions/http_timeout" } } } } } }, { "if": { "properties": { "type": { "const": "owm" } } }, "then": { "title": "Open Weather Map Segment", "description": "Displays the current weather from the Open Weather Map system", "properties": { "properties": { "properties": { "apikey": { "type": "string", "title": "apikey", "description": "The apikey used for the api call (Required)", "default": "." }, "location": { "type": "string", "title": "location", "description": "Location to use for the api call. Formatted as ,,. City name, state code and country code divided by comma. Please, refer to ISO 3166 for the state codes or country codes.", "default": "De Bilt,NL" }, "units": { "type": "string", "title": "units", "description": "Units of measurement. Available values are standard (kelvin), metric (celsius), and imperial (fahrenheit). Default is standard", "default": "standard", "enum": ["standard", "metric", "imperial"] }, "http_timeout": { "$ref": "#/definitions/http_timeout" }, "cache_timeout": { "type": "integer", "title": "cache timeout", "description": "The number of minutes the response is cached. A value of 0 disables the cache.", "default": 10 } } } } } }, { "if": { "properties": { "type": { "const": "executiontime" } } }, "then": { "title": "Displays the execution time of the previously executed command", "description": "https://ohmyposh.dev/docs/executiontime", "properties": { "properties": { "properties": { "always_enabled": { "type": "boolean", "title": "Always Enabled", "description": "Always show the duration", "default": false }, "threshold": { "type": "number", "title": "Threshold", "description": "minimum duration (milliseconds) required to enable this segment", "default": 500 }, "style": { "type": "string", "title": "Style", "description": "The style in which the time will be displayed", "enum": [ "austin", "roundrock", "dallas", "galveston", "houston", "amarillo", "round" ], "default": "austin" } } } } } }, { "if": { "properties": { "type": { "const": "poshgit" } } }, "then": { "title": "Posh-Git Segment", "description": "https://ohmyposh.dev/docs/poshgit" } }, { "if": { "properties": { "type": { "const": "sysinfo" } } }, "then": { "title": "Get sysinfo", "description": "https://ohmyposh.dev/docs/sysinfo", "properties": { "properties": { "properties": { "precision": { "type": "integer", "title": "Precision", "description": "number of decimal places to show", "default": 0 } } } } } }, { "if": { "properties": { "type": { "const": "strava" } } }, "then": { "title": "Display training data from Strava", "description": "https://ohmyposh.dev/docs/strava", "properties": { "properties": { "properties": { "url": { "type": "string", "title": "URL of API with Strava data", "description": "Url of your api provinding a Strava activity", "default": "" }, "ride_icon": { "type": "string", "title": "Alternative icon", "description": "Alternative icon for this activity type", "default": "\uf5a2" }, "run_icon": { "type": "string", "title": "Alternative icon", "description": "Alternative icon for this activity type", "default": "\ufc0c" }, "skiing_icon": { "type": "string", "title": "Alternative icon", "description": "Alternative icon for this activity type", "default": "\ue213" }, "workout_icon": { "type": "string", "title": "Alternative icon", "description": "Alternative icon for this activity type", "default": "\ue213" }, "unknown_activity_icon": { "type": "string", "title": "Fallback icon", "description": "Fallback icon for other activity types", "default": "\ue213" }, "http_timeout": { "$ref": "#/definitions/http_timeout" }, "cache_timeout": { "type": "integer", "title": "cache timeout", "description": "The number of minutes the response is cached. A value of 0 disables the cache.", "default": 10 } } } } } }, { "if": { "properties": { "type": { "const": "angular" } } }, "then": { "title": "Angular CLI Segment", "description": "https://ohmyposh.dev/docs/angular", "properties": { "properties": { "properties": { "fetch_version": { "$ref": "#/definitions/fetch_version" }, "display_mode": { "$ref": "#/definitions/display_mode" } } } } } }, { "if": { "properties": { "type": { "const": "wakatime" } } }, "then": { "title": "Wakatime", "description": "Displays the tracked time on wakatime.com", "properties": { "properties": { "properties": { "apikey": { "type": "string", "title": "apikey", "description": "The apikey used for the api call (Required)", "default": "." }, "http_timeout": { "$ref": "#/definitions/http_timeout" }, "cache_timeout": { "type": "integer", "title": "cache timeout", "description": "The number of minutes the response is cached. A value of 0 disables the cache.", "default": 10 } } } } } }, { "if": { "properties": { "type": { "const": "wifi" } } }, "then": { "title": "WiFi Segment", "description": "https://ohmyposh.dev/docs/wifi" } }, { "if": { "properties": { "type": { "const": "winreg" } } }, "then": { "title": "Windows Registry Query", "description": "https://ohmyposh.dev/docs/winreg", "properties": { "properties": { "properties": { "path": { "type": "string", "title": "Registry Path", "description": "The path to the registry key (case insensitive, must use backslashes). Ending with \\ will retrieve \"(Default)\" key in that path.", "default": "" }, "fallback": { "type": "string", "title": "Fallback value", "description": "Value to display if registry value cannot be retrieved", "default": "" } } } } } }, { "if": { "properties": { "type": { "const": "plastic" } } }, "then": { "title": "Plastic SCM Segment", "description": "https://ohmyposh.dev/docs/plastic", "properties": { "properties": { "properties": { "fetch_status": { "type": "boolean", "title": "Display Status", "description": "Display the local changes or not", "default": false }, "branch_icon": { "type": "string", "title": "Branch Icon", "description": "The icon to use in front of the selector branch name", "default": "\uE0A0 " }, "commit_icon": { "type": "string", "title": "Commit Icon", "description": "Icon/text to display before the selector changeset", "default": "\uF417" }, "tag_icon": { "type": "string", "title": "Tag Icon", "description": "Icon/text to display before the seletor label", "default": "\uF412" }, "branch_max_length": { "type": "integer", "title": "Branch max length", "description": "the max length for the displayed branch name where 0 implies full length", "default": 0 }, "full_branch_path": { "type": "boolean", "title": "Full branch path", "description": "display the full branch path instead of only the branch name", "default": false } } } } } }, { "if": { "properties": { "type": { "const": "brewfather" } } }, "then": { "title": "Brewfather Batch Status", "description": "https://ohmyposh.dev/docs/brewfather", "properties": { "properties": { "properties": { "user_id": { "type": "string", "title": "Brewfather UserID (required)", "description": "Provided by Brewfather's Generate API Key settings option", "default": "" }, "api_key": { "type": "string", "title": "Brewfather API Key (required)", "description": "Provided by Brewfather's Generate API Key settings option", "default": "" }, "batch_id": { "type": "string", "title": "ID of the batch in Brewfather (required)", "description": "At the end of the URL when viewing the batch on the Brewfather site", "default": "" }, "day_icon": { "type": "string", "title": "Icon to use to indicate days", "description": "Appended to a number to indicate days, e.g. 25d", "default": "d" }, "http_timeout": { "$ref": "#/definitions/http_timeout" }, "cache_timeout": { "type": "integer", "title": "cache timeout in minutes", "description": "The number of minutes the response is cached. A value of 0 disables the cache.", "default": 5 }, "doubleup_icon": { "type": "string", "title": "Temperature trend icon, very high positive change", "description": "Delta between this and prior temperature reading is very high (> 4C by default), available intemplate as .TemperatureTrend", "default": "↑↑" }, "singleup_icon": { "type": "string", "title": "Temperature trend icon, high positive change", "description": "Delta between this and prior temperature reading is high (2C < delta < 4C by default), available intemplate as .TemperatureTrend", "default": "↑" }, "fortyfiveup_icon": { "type": "string", "title": "Temperature trend icon, positive change", "description": "Delta between this and prior temperature reading is positive (0.5C < delta < 2C by default), available intemplate as .TemperatureTrend", "default": "↗" }, "flat_icon": { "type": "string", "title": "Temperature trend icon, flat/small change", "description": "Delta between this and prior temperature and this temperature reading (< +-0.5C change), available intemplate as .TemperatureTrend", "default": "→" }, "fortyfivedown_icon": { "type": "string", "title": "Temperature trend icon, v. negative change", "description": "Delta between this and prior temperature reading is negative (-0.5C > delta > -2C by default), available intemplate as .TemperatureTrend", "default": "↘" }, "singledown_icon": { "type": "string", "title": "Temperature trend icon, high negative change", "description": "Delta between this and prior temperature reading is large negative (-2C > delta > -4C by default), available intemplate as .TemperatureTrend", "default": "↓" }, "doubledown_icon": { "type": "string", "title": "Temperature trend icon, very high negative change", "description": "Delta between this and prior temperature reading is very large negative (> -4C by default), available intemplate as .TemperatureTrend", "default": "↓↓" }, "planning_status_icon": { "type": "string", "title": "Icon for batch in planning", "description": "Available in template as .StatusIcon", "default": "\uF8EA" }, "brewing_status_icon": { "type": "string", "title": "Icon for batch being brewed", "description": "Available in template as .StatusIcon", "default": "\uF7DE" }, "fermenting_status_icon": { "type": "string", "title": "Icon for batch fermenting", "description": "Available in template as .StatusIcon", "default": "\uF499" }, "conditioning_status_icon": { "type": "string", "title": "Icon for batch conditioning", "description": "Available in template as .StatusIcon", "default": "\uE372" }, "completed_status_icon": { "type": "string", "title": "Icon for completed batch", "description": "Available in template as .StatusIcon", "default": "\uF7A5" }, "archived_status_icon": { "type": "string", "title": "Icon for archived batch", "description": "Available in template as .StatusIcon", "default": "\uF187" } } } } } }, { "if": { "properties": { "type": { "const": "ipify" } } }, "then": { "title": "Display your external IP Address", "description": "https://ohmyposh.dev/docs/ipify", "properties": { "properties": { "properties": { "url": { "type": "string", "title": "URL", "description": "The Ipify API URL", "default": "https://api.ipify.org" }, "http_timeout": { "$ref": "#/definitions/http_timeout" }, "cache_timeout": { "type": "integer", "title": "cache timeout", "description": "The number of minutes the response is cached. A value of 0 disables the cache.", "default": 10 } } } } } }, { "if": { "properties": { "type": { "const": "haskell" } } }, "then": { "title": "Haskell Segment", "description": "https://ohmyposh.dev/docs/haskell", "properties": { "properties": { "properties": { "fetch_version": { "$ref": "#/definitions/fetch_version" }, "stack_ghc_mode": { "type": "string", "title": "Use Stack GHC", "description": "Get the GHC version used by Stack. Will decrease performance. Boolean indicating whether stack ghc was used available in template as .StackGhc", "enum": ["always", "package", "never"], "default": "never" }, "display_mode": { "$ref": "#/definitions/display_mode" }, "missing_command_text": { "$ref": "#/definitions/missing_command_text" } } } } } }, { "if": { "properties": { "type": { "const": "ui5tooling" } } }, "then": { "title": "UI5 tooling CLI segment", "description": "https://ohmyposh.dev/docs/ui5tooling", "properties": { "properties": { "properties": { "fetch_version": { "$ref": "#/definitions/fetch_version" }, "display_mode": { "$ref": "#/definitions/display_mode" }, "missing_command_text": { "$ref": "#/definitions/missing_command_text" } } } } } }, { "if": { "properties": { "type": { "const": "cf" } } }, "then": { "title": "Clound Foundry CLI segment", "description": "https://ohmyposh.dev/docs/cf", "properties": { "properties": { "properties": { "fetch_version": { "$ref": "#/definitions/fetch_version" }, "display_mode": { "$ref": "#/definitions/display_mode" }, "missing_command_text": { "$ref": "#/definitions/missing_command_text" } } } } } }, { "if": { "properties": { "type": { "const": "cftarget" } } }, "then": { "title": "Clound Foundry Target segment", "description": "https://ohmyposh.dev/docs/cftarget" } }, { "if": { "properties": { "type": { "const": "kotlin" } } }, "then": { "title": "Kotlin Segment", "description": "https://ohmyposh.dev/docs/kotlin", "properties": { "properties": { "properties": { "fetch_version": { "$ref": "#/definitions/fetch_version" }, "display_mode": { "$ref": "#/definitions/display_mode" }, "missing_command_text": { "$ref": "#/definitions/missing_command_text" } } } } } }, { "if": { "properties": { "type": { "const": "swift" } } }, "then": { "title": "Swift Segment", "description": "https://ohmyposh.dev/docs/swift", "properties": { "properties": { "properties": { "fetch_version": { "$ref": "#/definitions/fetch_version" }, "display_mode": { "$ref": "#/definitions/display_mode" }, "missing_command_text": { "$ref": "#/definitions/missing_command_text" } } } } } }, { "if": { "properties": { "type": { "const": "cds" } } }, "then": { "title": "CDS (SAP CAP) segment", "description": "https://ohmyposh.dev/docs/cds", "properties": { "properties": { "properties": { "fetch_version": { "$ref": "#/definitions/fetch_version" }, "display_mode": { "$ref": "#/definitions/display_mode" }, "missing_command_text": { "$ref": "#/definitions/missing_command_text" } } } } } }, { "if": { "properties": { "type": { "const": "r" } } }, "then": { "title": "R Segment", "description": "https://ohmyposh.dev/docs/r", "properties": { "properties": { "properties": { "fetch_version": { "$ref": "#/definitions/fetch_version" }, "display_mode": { "$ref": "#/definitions/display_mode" }, "missing_command_text": { "$ref": "#/definitions/missing_command_text" } } } } } } ] } }, "required": ["blocks"], "properties": { "final_space": { "type": "boolean", "title": "Final Space", "description": "https://ohmyposh.dev/docs/config-overview#general-settings", "default": true }, "osc99": { "type": "boolean", "title": "Enable OSC99", "description": "https://ohmyposh.dev/docs/config-overview#general-settings", "default": false }, "console_title_template": { "type": "string", "title": "Console Title Template", "description": "https://ohmyposh.dev/docs/config-title#console-title-template", "default": "{{ .Shell }} in {{ .Folder }}" }, "terminal_background": { "$ref": "#/definitions/color" }, "blocks": { "type": "array", "title": "Block array", "default": [], "description": "https://ohmyposh.dev/docs/config-overview", "items": { "$ref": "#/definitions/block" } }, "tooltips": { "type": "array", "title": "Tooltip list, prompt elements to display based on context", "description": "https://ohmyposh.dev/docs/config-tooltips", "default": [], "items": { "allOf": [{ "$ref": "#/definitions/segment" }], "properties": { "tips": { "type": "array", "title": "The commands for which you want the segment to show", "items": { "type": "string" } } }, "required": ["tips"] } }, "transient_prompt": { "$ref": "#/definitions/extra_prompt", "title": "Transient Prompt Setting", "description": "https://ohmyposh.dev/docs/config-transient" }, "valid_line": { "$ref": "#/definitions/extra_prompt", "title": "Valid Prompt Setting", "description": "https://ohmyposh.dev/docs/config-prompt-override" }, "error_line": { "$ref": "#/definitions/extra_prompt", "title": "Error Prompt Setting", "description": "https://ohmyposh.dev/docs/config-prompt-override" }, "secondary_prompt": { "$ref": "#/definitions/extra_prompt", "title": "Secondary Prompt Setting", "description": "https://ohmyposh.dev/docs/config-secondary-prompt" }, "palette": { "type": "object", "title": "Palette", "description": "https://ohmyposh.dev/docs/config-colors#palette", "default": {}, "patternProperties": { ".*": { "$ref": "#/definitions/color" } } } } }