From b74e26a3c35a93b5c475dd808ffce8468c5b5087 Mon Sep 17 00:00:00 2001 From: Alex Blank Date: Mon, 19 Apr 2021 12:43:15 +0000 Subject: [PATCH 1/7] Update postswitch --- .config/autorandr/postswitch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/autorandr/postswitch b/.config/autorandr/postswitch index 18f8439..648b721 100755 --- a/.config/autorandr/postswitch +++ b/.config/autorandr/postswitch @@ -5,7 +5,7 @@ polybar_auto_hide_timer_name=polybar_auto_hide.timer function auto_hide_polybar() { if [[ $1 == "true" ]]; then - systemd-run --user --on-calendar="*:0/1" --unit=$polybar_auto_hide_timer_name /usr/bin/polybar-msg cmd show || true + systemd-run --user --on-calendar="*:0/1" --unit=$polybar_auto_hide_timer_name /usr/bin/polybar-msg cmd hide || true else systemctl --user stop $polybar_auto_hide_timer_name || true fi From 48ae732553b9997eec445743d45a8cca2d8425bd Mon Sep 17 00:00:00 2001 From: Alex Blank Date: Mon, 19 Apr 2021 12:56:45 +0000 Subject: [PATCH 2/7] Delete xmonad-x86_64-linux --- .xmonad/xmonad-x86_64-linux | Bin 166840 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100755 .xmonad/xmonad-x86_64-linux diff --git a/.xmonad/xmonad-x86_64-linux b/.xmonad/xmonad-x86_64-linux deleted file mode 100755 index 66821d54609ae30916362c0fc97b9a616c9239d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 166840 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 hmnk5>OiA4;*tOR=}3D{x>>o9<2ZX From fefca27621d912db9733c5333c8019666b56c0b4 Mon Sep 17 00:00:00 2001 From: Alex Blank Date: Mon, 19 Apr 2021 12:56:51 +0000 Subject: [PATCH 3/7] Delete xmonad.errors --- .xmonad/xmonad.errors | 14 -------------- 1 file changed, 14 deletions(-) delete mode 100644 .xmonad/xmonad.errors diff --git a/.xmonad/xmonad.errors b/.xmonad/xmonad.errors deleted file mode 100644 index 51cb409..0000000 --- a/.xmonad/xmonad.errors +++ /dev/null @@ -1,14 +0,0 @@ - -xmonad.hs:186:1: warning: [-Wtabs] - Tab character found here, and in 13 further locations. - Please use spaces instead. - | -186 | spawn "autorandr -c") - | ^^^^^^^^ - -xmonad.hs:416:43: warning: [-Wdeprecations] - In the use of ‘spacing’ (imported from XMonad.Layout.Spacing): - Deprecated: "Use spacingRaw instead." - | -416 | addSpace = renamed [CutWordsLeft 2] . spacing gap - | ^^^^^^^ From fb53ae8753bc025855767878868107b236f92c9d Mon Sep 17 00:00:00 2001 From: Alex Blank Date: Mon, 19 Apr 2021 12:56:57 +0000 Subject: [PATCH 4/7] Delete xmonad.hi --- .xmonad/xmonad.hi | Bin 4181 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 .xmonad/xmonad.hi diff --git a/.xmonad/xmonad.hi b/.xmonad/xmonad.hi deleted file mode 100644 index 93f8acd23ffae888916c0a765a84ef05dfef4365..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4181 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 ScQJ=*r|lD#af8cBLHrj+$c#S# From 1d5fae71c2eb2388c87be9bd43ff87c1c7acd96f Mon Sep 17 00:00:00 2001 From: Alex Blank Date: Mon, 19 Apr 2021 12:57:03 +0000 Subject: [PATCH 5/7] Delete xmonad.o --- .xmonad/xmonad.o | Bin 191896 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 .xmonad/xmonad.o diff --git a/.xmonad/xmonad.o b/.xmonad/xmonad.o deleted file mode 100644 index 864c243806771adadf01100e235910e37066813b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 191896 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 From 71c461fcf67d3f60bd69a5d2511309b835cad29d Mon Sep 17 00:00:00 2001 From: Alex Blank Date: Mon, 19 Apr 2021 15:11:57 +0200 Subject: [PATCH 6/7] added p10k config --- .p10k.zsh | 1646 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1646 insertions(+) create mode 100644 .p10k.zsh diff --git a/.p10k.zsh b/.p10k.zsh new file mode 100644 index 0000000..def99e8 --- /dev/null +++ b/.p10k.zsh @@ -0,0 +1,1646 @@ +# Generated by Powerlevel10k configuration wizard on 2021-04-19 at 15:09 CEST. +# Based on romkatv/powerlevel10k/config/p10k-rainbow.zsh, checksum 47272. +# Wizard options: nerdfont-complete + powerline, small icons, rainbow, unicode, +# 12h time, angled separators, sharp heads, flat tails, 1 line, compact, few icons, +# concise, transient_prompt, instant_prompt=verbose. +# Type `p10k configure` to generate another config. +# +# Config for Powerlevel10k with powerline prompt style with colorful background. +# Type `p10k configure` to generate your own config based on it. +# +# Tip: Looking for a nice color? Here's a one-liner to print colormap. +# +# for i in {0..255}; do print -Pn "%K{$i} %k%F{$i}${(l:3::0:)i}%f " ${${(M)$((i%6)):#3}:+$'\n'}; done + +# Temporarily change options. +'builtin' 'local' '-a' 'p10k_config_opts' +[[ ! -o 'aliases' ]] || p10k_config_opts+=('aliases') +[[ ! -o 'sh_glob' ]] || p10k_config_opts+=('sh_glob') +[[ ! -o 'no_brace_expand' ]] || p10k_config_opts+=('no_brace_expand') +'builtin' 'setopt' 'no_aliases' 'no_sh_glob' 'brace_expand' + +() { + emulate -L zsh -o extended_glob + + # Unset all configuration options. This allows you to apply configuration changes without + # restarting zsh. Edit ~/.p10k.zsh and type `source ~/.p10k.zsh`. + unset -m '(POWERLEVEL9K_*|DEFAULT_USER)~POWERLEVEL9K_GITSTATUS_DIR' + + # Zsh >= 5.1 is required. + autoload -Uz is-at-least && is-at-least 5.1 || return + + # The list of segments shown on the left. Fill it with the most important segments. + typeset -g POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=( + # os_icon # os identifier + dir # current directory + vcs # git status + # prompt_char # prompt symbol + ) + + # The list of segments shown on the right. Fill it with less important segments. + # Right prompt on the last prompt line (where you are typing your commands) gets + # automatically hidden when the input line reaches it. Right prompt above the + # last prompt line gets hidden if it would overlap with left prompt. + typeset -g POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=( + status # exit code of the last command + command_execution_time # duration of the last command + background_jobs # presence of background jobs + direnv # direnv status (https://direnv.net/) + asdf # asdf version manager (https://github.com/asdf-vm/asdf) + virtualenv # python virtual environment (https://docs.python.org/3/library/venv.html) + anaconda # conda environment (https://conda.io/) + pyenv # python environment (https://github.com/pyenv/pyenv) + goenv # go environment (https://github.com/syndbg/goenv) + nodenv # node.js version from nodenv (https://github.com/nodenv/nodenv) + nvm # node.js version from nvm (https://github.com/nvm-sh/nvm) + nodeenv # node.js environment (https://github.com/ekalinin/nodeenv) + # node_version # node.js version + # go_version # go version (https://golang.org) + # rust_version # rustc version (https://www.rust-lang.org) + # dotnet_version # .NET version (https://dotnet.microsoft.com) + # php_version # php version (https://www.php.net/) + # laravel_version # laravel php framework version (https://laravel.com/) + # java_version # java version (https://www.java.com/) + # package # name@version from package.json (https://docs.npmjs.com/files/package.json) + rbenv # ruby version from rbenv (https://github.com/rbenv/rbenv) + rvm # ruby version from rvm (https://rvm.io) + fvm # flutter version management (https://github.com/leoafarias/fvm) + luaenv # lua version from luaenv (https://github.com/cehoffman/luaenv) + jenv # java version from jenv (https://github.com/jenv/jenv) + plenv # perl version from plenv (https://github.com/tokuhirom/plenv) + phpenv # php version from phpenv (https://github.com/phpenv/phpenv) + haskell_stack # haskell version from stack (https://haskellstack.org/) + kubecontext # current kubernetes context (https://kubernetes.io/) + terraform # terraform workspace (https://www.terraform.io) + aws # aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) + aws_eb_env # aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/) + azure # azure account name (https://docs.microsoft.com/en-us/cli/azure) + gcloud # google cloud cli account and project (https://cloud.google.com/) + google_app_cred # google application credentials (https://cloud.google.com/docs/authentication/production) + context # user@hostname + nordvpn # nordvpn connection status, linux only (https://nordvpn.com/) + ranger # ranger shell (https://github.com/ranger/ranger) + nnn # nnn shell (https://github.com/jarun/nnn) + vim_shell # vim shell indicator (:sh) + midnight_commander # midnight commander shell (https://midnight-commander.org/) + nix_shell # nix shell (https://nixos.org/nixos/nix-pills/developing-with-nix-shell.html) + vi_mode # vi mode (you don't need this if you've enabled prompt_char) + # vpn_ip # virtual private network indicator + # load # CPU load + # disk_usage # disk usage + # ram # free RAM + # swap # used swap + todo # todo items (https://github.com/todotxt/todo.txt-cli) + timewarrior # timewarrior tracking status (https://timewarrior.net/) + taskwarrior # taskwarrior task count (https://taskwarrior.org/) + time # current time + # ip # ip address and bandwidth usage for a specified network interface + # public_ip # public IP address + # proxy # system-wide http/https/ftp proxy + # battery # internal battery + # wifi # wifi speed + # example # example user-defined segment (see prompt_example function below) + ) + + # Defines character set used by powerlevel10k. It's best to let `p10k configure` set it for you. + typeset -g POWERLEVEL9K_MODE=nerdfont-complete + # When set to `moderate`, some icons will have an extra space after them. This is meant to avoid + # icon overlap when using non-monospace fonts. When set to `none`, spaces are not added. + typeset -g POWERLEVEL9K_ICON_PADDING=none + + # When set to true, icons appear before content on both sides of the prompt. When set + # to false, icons go after content. If empty or not set, icons go before content in the left + # prompt and after content in the right prompt. + # + # You can also override it for a specific segment: + # + # POWERLEVEL9K_STATUS_ICON_BEFORE_CONTENT=false + # + # Or for a specific segment in specific state: + # + # POWERLEVEL9K_DIR_NOT_WRITABLE_ICON_BEFORE_CONTENT=false + typeset -g POWERLEVEL9K_ICON_BEFORE_CONTENT= + + # Add an empty line before each prompt. + typeset -g POWERLEVEL9K_PROMPT_ADD_NEWLINE=false + + # Connect left prompt lines with these symbols. You'll probably want to use the same color + # as POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_FOREGROUND below. + typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX='%242F╭─' + typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_PREFIX='%242F├─' + typeset -g POWERLEVEL9K_MULTILINE_LAST_PROMPT_PREFIX='%242F╰─' + # Connect right prompt lines with these symbols. + typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_SUFFIX='%242F─╮' + typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_SUFFIX='%242F─┤' + typeset -g POWERLEVEL9K_MULTILINE_LAST_PROMPT_SUFFIX='%242F─╯' + + # Filler between left and right prompt on the first prompt line. You can set it to ' ', '·' or + # '─'. The last two make it easier to see the alignment between left and right prompt and to + # separate prompt from command output. You might want to set POWERLEVEL9K_PROMPT_ADD_NEWLINE=false + # for more compact prompt if using using this option. + typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR=' ' + typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_BACKGROUND= + typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_GAP_BACKGROUND= + if [[ $POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR != ' ' ]]; then + # The color of the filler. You'll probably want to match the color of POWERLEVEL9K_MULTILINE + # ornaments defined above. + typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_FOREGROUND=242 + # Start filler from the edge of the screen if there are no left segments on the first line. + typeset -g POWERLEVEL9K_EMPTY_LINE_LEFT_PROMPT_FIRST_SEGMENT_END_SYMBOL='%{%}' + # End filler on the edge of the screen if there are no right segments on the first line. + typeset -g POWERLEVEL9K_EMPTY_LINE_RIGHT_PROMPT_FIRST_SEGMENT_START_SYMBOL='%{%}' + fi + + # Separator between same-color segments on the left. + typeset -g POWERLEVEL9K_LEFT_SUBSEGMENT_SEPARATOR='\uE0B1' + # Separator between same-color segments on the right. + typeset -g POWERLEVEL9K_RIGHT_SUBSEGMENT_SEPARATOR='\uE0B3' + # Separator between different-color segments on the left. + typeset -g POWERLEVEL9K_LEFT_SEGMENT_SEPARATOR='\uE0B0' + # Separator between different-color segments on the right. + typeset -g POWERLEVEL9K_RIGHT_SEGMENT_SEPARATOR='\uE0B2' + # The right end of left prompt. + typeset -g POWERLEVEL9K_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL='\uE0B0' + # The left end of right prompt. + typeset -g POWERLEVEL9K_RIGHT_PROMPT_FIRST_SEGMENT_START_SYMBOL='\uE0B2' + # The left end of left prompt. + typeset -g POWERLEVEL9K_LEFT_PROMPT_FIRST_SEGMENT_START_SYMBOL='' + # The right end of right prompt. + typeset -g POWERLEVEL9K_RIGHT_PROMPT_LAST_SEGMENT_END_SYMBOL='' + # Left prompt terminator for lines without any segments. + typeset -g POWERLEVEL9K_EMPTY_LINE_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL= + + #################################[ os_icon: os identifier ]################################## + # OS identifier color. + typeset -g POWERLEVEL9K_OS_ICON_FOREGROUND=232 + typeset -g POWERLEVEL9K_OS_ICON_BACKGROUND=7 + # Custom icon. + # typeset -g POWERLEVEL9K_OS_ICON_CONTENT_EXPANSION='⭐' + + ################################[ prompt_char: prompt symbol ]################################ + # Transparent background. + typeset -g POWERLEVEL9K_PROMPT_CHAR_BACKGROUND= + # Green prompt symbol if the last command succeeded. + typeset -g POWERLEVEL9K_PROMPT_CHAR_OK_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=76 + # Red prompt symbol if the last command failed. + typeset -g POWERLEVEL9K_PROMPT_CHAR_ERROR_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=196 + # Default prompt symbol. + typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIINS_CONTENT_EXPANSION='❯' + # Prompt symbol in command vi mode. + typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VICMD_CONTENT_EXPANSION='❮' + # Prompt symbol in visual vi mode. + typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIVIS_CONTENT_EXPANSION='V' + # Prompt symbol in overwrite vi mode. + typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIOWR_CONTENT_EXPANSION='▶' + typeset -g POWERLEVEL9K_PROMPT_CHAR_OVERWRITE_STATE=true + # No line terminator if prompt_char is the last segment. + typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL= + # No line introducer if prompt_char is the first segment. + typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_PROMPT_FIRST_SEGMENT_START_SYMBOL= + # No surrounding whitespace. + typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_{LEFT,RIGHT}_WHITESPACE= + + ##################################[ dir: current directory ]################################## + # Current directory background color. + typeset -g POWERLEVEL9K_DIR_BACKGROUND=4 + # Default current directory foreground color. + typeset -g POWERLEVEL9K_DIR_FOREGROUND=254 + # If directory is too long, shorten some of its segments to the shortest possible unique + # prefix. The shortened directory can be tab-completed to the original. + typeset -g POWERLEVEL9K_SHORTEN_STRATEGY=truncate_to_unique + # Replace removed segment suffixes with this symbol. + typeset -g POWERLEVEL9K_SHORTEN_DELIMITER= + # Color of the shortened directory segments. + typeset -g POWERLEVEL9K_DIR_SHORTENED_FOREGROUND=250 + # Color of the anchor directory segments. Anchor segments are never shortened. The first + # segment is always an anchor. + typeset -g POWERLEVEL9K_DIR_ANCHOR_FOREGROUND=255 + # Display anchor directory segments in bold. + typeset -g POWERLEVEL9K_DIR_ANCHOR_BOLD=true + # Don't shorten directories that contain any of these files. They are anchors. + local anchor_files=( + .bzr + .citc + .git + .hg + .node-version + .python-version + .go-version + .ruby-version + .lua-version + .java-version + .perl-version + .php-version + .tool-version + .shorten_folder_marker + .svn + .terraform + CVS + Cargo.toml + composer.json + go.mod + package.json + stack.yaml + ) + typeset -g POWERLEVEL9K_SHORTEN_FOLDER_MARKER="(${(j:|:)anchor_files})" + # If set to "first" ("last"), remove everything before the first (last) subdirectory that contains + # files matching $POWERLEVEL9K_SHORTEN_FOLDER_MARKER. For example, when the current directory is + # /foo/bar/git_repo/nested_git_repo/baz, prompt will display git_repo/nested_git_repo/baz (first) + # or nested_git_repo/baz (last). This assumes that git_repo and nested_git_repo contain markers + # and other directories don't. + # + # Optionally, "first" and "last" can be followed by ":" where is an integer. + # This moves the truncation point to the right (positive offset) or to the left (negative offset) + # relative to the marker. Plain "first" and "last" are equivalent to "first:0" and "last:0" + # respectively. + typeset -g POWERLEVEL9K_DIR_TRUNCATE_BEFORE_MARKER=false + # Don't shorten this many last directory segments. They are anchors. + typeset -g POWERLEVEL9K_SHORTEN_DIR_LENGTH=1 + # Shorten directory if it's longer than this even if there is space for it. The value can + # be either absolute (e.g., '80') or a percentage of terminal width (e.g, '50%'). If empty, + # directory will be shortened only when prompt doesn't fit or when other parameters demand it + # (see POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS and POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS_PCT below). + # If set to `0`, directory will always be shortened to its minimum length. + typeset -g POWERLEVEL9K_DIR_MAX_LENGTH=80 + # When `dir` segment is on the last prompt line, try to shorten it enough to leave at least this + # many columns for typing commands. + typeset -g POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS=40 + # When `dir` segment is on the last prompt line, try to shorten it enough to leave at least + # COLUMNS * POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS_PCT * 0.01 columns for typing commands. + typeset -g POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS_PCT=50 + # If set to true, embed a hyperlink into the directory. Useful for quickly + # opening a directory in the file manager simply by clicking the link. + # Can also be handy when the directory is shortened, as it allows you to see + # the full directory that was used in previous commands. + typeset -g POWERLEVEL9K_DIR_HYPERLINK=false + + # Enable special styling for non-writable directories. See POWERLEVEL9K_LOCK_ICON and + # POWERLEVEL9K_DIR_CLASSES below. + typeset -g POWERLEVEL9K_DIR_SHOW_WRITABLE=v2 + + # The default icon shown next to non-writable directories when POWERLEVEL9K_DIR_SHOW_WRITABLE is + # set to v2. + # typeset -g POWERLEVEL9K_LOCK_ICON='⭐' + + # POWERLEVEL9K_DIR_CLASSES allows you to specify custom icons and colors for different + # directories. It must be an array with 3 * N elements. Each triplet consists of: + # + # 1. A pattern against which the current directory ($PWD) is matched. Matching is done with + # extended_glob option enabled. + # 2. Directory class for the purpose of styling. + # 3. An empty string. + # + # Triplets are tried in order. The first triplet whose pattern matches $PWD wins. + # + # If POWERLEVEL9K_DIR_SHOW_WRITABLE is set to v2 and the current directory is not writable, + # its class gets suffix _NOT_WRITABLE. + # + # For example, given these settings: + # + # typeset -g POWERLEVEL9K_DIR_CLASSES=( + # '~/work(|/*)' WORK '' + # '~(|/*)' HOME '' + # '*' DEFAULT '') + # + # Whenever the current directory is ~/work or a subdirectory of ~/work, it gets styled with class + # WORK or WORK_NOT_WRITABLE. + # + # Simply assigning classes to directories don't have any visible effects. It merely gives you an + # option to define custom colors and icons for different directory classes. + # + # # Styling for WORK. + # typeset -g POWERLEVEL9K_DIR_WORK_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_DIR_WORK_BACKGROUND=4 + # typeset -g POWERLEVEL9K_DIR_WORK_FOREGROUND=254 + # typeset -g POWERLEVEL9K_DIR_WORK_SHORTENED_FOREGROUND=250 + # typeset -g POWERLEVEL9K_DIR_WORK_ANCHOR_FOREGROUND=255 + # + # # Styling for WORK_NOT_WRITABLE. + # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_BACKGROUND=4 + # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_FOREGROUND=254 + # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_SHORTENED_FOREGROUND=250 + # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_ANCHOR_FOREGROUND=255 + # + # If a styling parameter isn't explicitly defined for some class, it falls back to the classless + # parameter. For example, if POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_FOREGROUND is not set, it falls + # back to POWERLEVEL9K_DIR_FOREGROUND. + # + typeset -g POWERLEVEL9K_DIR_CLASSES=() + + # Custom prefix. + # typeset -g POWERLEVEL9K_DIR_PREFIX='in ' + + #####################################[ vcs: git status ]###################################### + # Version control system colors. + # typeset -g POWERLEVEL9K_VCS_CLEAN_BACKGROUND=2 + # typeset -g POWERLEVEL9K_VCS_MODIFIED_BACKGROUND=3 + # typeset -g POWERLEVEL9K_VCS_UNTRACKED_BACKGROUND=2 + # typeset -g POWERLEVEL9K_VCS_CONFLICTED_BACKGROUND=3 + # typeset -g POWERLEVEL9K_VCS_LOADING_BACKGROUND=8 + + # Branch icon. Set this parameter to '\uF126 ' for the popular Powerline branch icon. + typeset -g POWERLEVEL9K_VCS_BRANCH_ICON= + + # Untracked files icon. It's really a question mark, your font isn't broken. + # Change the value of this parameter to show a different icon. + typeset -g POWERLEVEL9K_VCS_UNTRACKED_ICON='?' + + # Formatter for Git status. + # + # Example output: master ⇣42⇡42 *42 merge ~42 +42 !42 ?42. + # + # You can edit the function to customize how Git status looks. + # + # VCS_STATUS_* parameters are set by gitstatus plugin. See reference: + # https://github.com/romkatv/gitstatus/blob/master/gitstatus.plugin.zsh. + function my_git_formatter() { + emulate -L zsh + + if [[ -n $P9K_CONTENT ]]; then + # If P9K_CONTENT is not empty, use it. It's either "loading" or from vcs_info (not from + # gitstatus plugin). VCS_STATUS_* parameters are not available in this case. + typeset -g my_git_format=$P9K_CONTENT + return + fi + + # Styling for different parts of Git status. + local meta='%7F' # white foreground + local clean='%0F' # black foreground + local modified='%0F' # black foreground + local untracked='%0F' # black foreground + local conflicted='%1F' # red foreground + + local res + local where # branch or tag + if [[ -n $VCS_STATUS_LOCAL_BRANCH ]]; then + res+="${clean}${(g::)POWERLEVEL9K_VCS_BRANCH_ICON}" + where=${(V)VCS_STATUS_LOCAL_BRANCH} + elif [[ -n $VCS_STATUS_TAG ]]; then + res+="${meta}#" + where=${(V)VCS_STATUS_TAG} + fi + + # If local branch name or tag is at most 32 characters long, show it in full. + # Otherwise show the first 12 … the last 12. + # Tip: To always show local branch name in full without truncation, delete the next line. + (( $#where > 32 )) && where[13,-13]="…" + + res+="${clean}${where//\%/%%}" # escape % + + # Display the current Git commit if there is no branch or tag. + # Tip: To always display the current Git commit, remove `[[ -z $where ]] &&` from the next line. + [[ -z $where ]] && res+="${meta}@${clean}${VCS_STATUS_COMMIT[1,8]}" + + # Show tracking branch name if it differs from local branch. + if [[ -n ${VCS_STATUS_REMOTE_BRANCH:#$VCS_STATUS_LOCAL_BRANCH} ]]; then + res+="${meta}:${clean}${(V)VCS_STATUS_REMOTE_BRANCH//\%/%%}" # escape % + fi + + # ⇣42 if behind the remote. + (( VCS_STATUS_COMMITS_BEHIND )) && res+=" ${clean}⇣${VCS_STATUS_COMMITS_BEHIND}" + # ⇡42 if ahead of the remote; no leading space if also behind the remote: ⇣42⇡42. + (( VCS_STATUS_COMMITS_AHEAD && !VCS_STATUS_COMMITS_BEHIND )) && res+=" " + (( VCS_STATUS_COMMITS_AHEAD )) && res+="${clean}⇡${VCS_STATUS_COMMITS_AHEAD}" + # ⇠42 if behind the push remote. + (( VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" ${clean}⇠${VCS_STATUS_PUSH_COMMITS_BEHIND}" + (( VCS_STATUS_PUSH_COMMITS_AHEAD && !VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" " + # ⇢42 if ahead of the push remote; no leading space if also behind: ⇠42⇢42. + (( VCS_STATUS_PUSH_COMMITS_AHEAD )) && res+="${clean}⇢${VCS_STATUS_PUSH_COMMITS_AHEAD}" + # *42 if have stashes. + (( VCS_STATUS_STASHES )) && res+=" ${clean}*${VCS_STATUS_STASHES}" + # 'merge' if the repo is in an unusual state. + [[ -n $VCS_STATUS_ACTION ]] && res+=" ${conflicted}${VCS_STATUS_ACTION}" + # ~42 if have merge conflicts. + (( VCS_STATUS_NUM_CONFLICTED )) && res+=" ${conflicted}~${VCS_STATUS_NUM_CONFLICTED}" + # +42 if have staged changes. + (( VCS_STATUS_NUM_STAGED )) && res+=" ${modified}+${VCS_STATUS_NUM_STAGED}" + # !42 if have unstaged changes. + (( VCS_STATUS_NUM_UNSTAGED )) && res+=" ${modified}!${VCS_STATUS_NUM_UNSTAGED}" + # ?42 if have untracked files. It's really a question mark, your font isn't broken. + # See POWERLEVEL9K_VCS_UNTRACKED_ICON above if you want to use a different icon. + # Remove the next line if you don't want to see untracked files at all. + (( VCS_STATUS_NUM_UNTRACKED )) && res+=" ${untracked}${(g::)POWERLEVEL9K_VCS_UNTRACKED_ICON}${VCS_STATUS_NUM_UNTRACKED}" + # "─" if the number of unstaged files is unknown. This can happen due to + # POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY (see below) being set to a non-negative number lower + # than the number of files in the Git index, or due to bash.showDirtyState being set to false + # in the repository config. The number of staged and untracked files may also be unknown + # in this case. + (( VCS_STATUS_HAS_UNSTAGED == -1 )) && res+=" ${modified}─" + + typeset -g my_git_format=$res + } + functions -M my_git_formatter 2>/dev/null + + # Don't count the number of unstaged, untracked and conflicted files in Git repositories with + # more than this many files in the index. Negative value means infinity. + # + # If you are working in Git repositories with tens of millions of files and seeing performance + # sagging, try setting POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY to a number lower than the output + # of `git ls-files | wc -l`. Alternatively, add `bash.showDirtyState = false` to the repository's + # config: `git config bash.showDirtyState false`. + typeset -g POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY=-1 + + # Don't show Git status in prompt for repositories whose workdir matches this pattern. + # For example, if set to '~', the Git repository at $HOME/.git will be ignored. + # Multiple patterns can be combined with '|': '~(|/foo)|/bar/baz/*'. + typeset -g POWERLEVEL9K_VCS_DISABLED_WORKDIR_PATTERN='~' + + # Disable the default Git status formatting. + typeset -g POWERLEVEL9K_VCS_DISABLE_GITSTATUS_FORMATTING=true + # Install our own Git status formatter. + typeset -g POWERLEVEL9K_VCS_CONTENT_EXPANSION='${$((my_git_formatter()))+${my_git_format}}' + # Enable counters for staged, unstaged, etc. + typeset -g POWERLEVEL9K_VCS_{STAGED,UNSTAGED,UNTRACKED,CONFLICTED,COMMITS_AHEAD,COMMITS_BEHIND}_MAX_NUM=-1 + + # Custom icon. + typeset -g POWERLEVEL9K_VCS_VISUAL_IDENTIFIER_EXPANSION= + # Custom prefix. + # typeset -g POWERLEVEL9K_VCS_PREFIX='on ' + + # Show status of repositories of these types. You can add svn and/or hg if you are + # using them. If you do, your prompt may become slow even when your current directory + # isn't in an svn or hg reposotiry. + typeset -g POWERLEVEL9K_VCS_BACKENDS=(git) + + ##########################[ status: exit code of the last command ]########################### + # Enable OK_PIPE, ERROR_PIPE and ERROR_SIGNAL status states to allow us to enable, disable and + # style them independently from the regular OK and ERROR state. + typeset -g POWERLEVEL9K_STATUS_EXTENDED_STATES=true + + # Status on success. No content, just an icon. No need to show it if prompt_char is enabled as + # it will signify success by turning green. + typeset -g POWERLEVEL9K_STATUS_OK=true + typeset -g POWERLEVEL9K_STATUS_OK_VISUAL_IDENTIFIER_EXPANSION='✔' + # typeset -g POWERLEVEL9K_STATUS_OK_FOREGROUND=2 + # typeset -g POWERLEVEL9K_STATUS_OK_BACKGROUND=0 + + # Status when some part of a pipe command fails but the overall exit status is zero. It may look + # like this: 1|0. + typeset -g POWERLEVEL9K_STATUS_OK_PIPE=true + typeset -g POWERLEVEL9K_STATUS_OK_PIPE_VISUAL_IDENTIFIER_EXPANSION='✔' + # typeset -g POWERLEVEL9K_STATUS_OK_PIPE_FOREGROUND=2 + # typeset -g POWERLEVEL9K_STATUS_OK_PIPE_BACKGROUND=0 + + # Status when it's just an error code (e.g., '1'). No need to show it if prompt_char is enabled as + # it will signify error by turning red. + typeset -g POWERLEVEL9K_STATUS_ERROR=true + typeset -g POWERLEVEL9K_STATUS_ERROR_VISUAL_IDENTIFIER_EXPANSION='✘' + # typeset -g POWERLEVEL9K_STATUS_ERROR_FOREGROUND=3 + # typeset -g POWERLEVEL9K_STATUS_ERROR_BACKGROUND=1 + + # Status when the last command was terminated by a signal. + typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL=true + # Use terse signal names: "INT" instead of "SIGINT(2)". + typeset -g POWERLEVEL9K_STATUS_VERBOSE_SIGNAME=false + typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL_VISUAL_IDENTIFIER_EXPANSION='✘' + # typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL_FOREGROUND=3 + # typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL_BACKGROUND=1 + + # Status when some part of a pipe command fails and the overall exit status is also non-zero. + # It may look like this: 1|0. + typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE=true + typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_VISUAL_IDENTIFIER_EXPANSION='✘' + # typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_FOREGROUND=3 + # typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_BACKGROUND=1 + + ###################[ command_execution_time: duration of the last command ]################### + # Execution time color. + typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FOREGROUND=0 + typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_BACKGROUND=3 + # Show duration of the last command if takes at least this many seconds. + typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_THRESHOLD=3 + # Show this many fractional digits. Zero means round to seconds. + typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PRECISION=0 + # Duration format: 1d 2h 3m 4s. + typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FORMAT='d h m s' + # Custom icon. + typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_VISUAL_IDENTIFIER_EXPANSION= + # Custom prefix. + # typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PREFIX='took ' + + #######################[ background_jobs: presence of background jobs ]####################### + # Background jobs color. + # typeset -g POWERLEVEL9K_BACKGROUND_JOBS_FOREGROUND=6 + # typeset -g POWERLEVEL9K_BACKGROUND_JOBS_BACKGROUND=0 + # Don't show the number of background jobs. + typeset -g POWERLEVEL9K_BACKGROUND_JOBS_VERBOSE=false + # Custom icon. + # typeset -g POWERLEVEL9K_BACKGROUND_JOBS_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #######################[ direnv: direnv status (https://direnv.net/) ]######################## + # Direnv color. + # typeset -g POWERLEVEL9K_DIRENV_FOREGROUND=3 + # typeset -g POWERLEVEL9K_DIRENV_BACKGROUND=0 + # Custom icon. + # typeset -g POWERLEVEL9K_DIRENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###############[ asdf: asdf version manager (https://github.com/asdf-vm/asdf) ]############### + # Default asdf color. Only used to display tools for which there is no color override (see below). + # Tip: Override these parameters for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_FOREGROUND and + # POWERLEVEL9K_ASDF_${TOOL}_BACKGROUND. + typeset -g POWERLEVEL9K_ASDF_FOREGROUND=0 + typeset -g POWERLEVEL9K_ASDF_BACKGROUND=7 + + # There are four parameters that can be used to hide asdf tools. Each parameter describes + # conditions under which a tool gets hidden. Parameters can hide tools but not unhide them. If at + # least one parameter decides to hide a tool, that tool gets hidden. If no parameter decides to + # hide a tool, it gets shown. + # + # Special note on the difference between POWERLEVEL9K_ASDF_SOURCES and + # POWERLEVEL9K_ASDF_PROMPT_ALWAYS_SHOW. Consider the effect of the following commands: + # + # asdf local python 3.8.1 + # asdf global python 3.8.1 + # + # After running both commands the current python version is 3.8.1 and its source is "local" as + # it takes precedence over "global". If POWERLEVEL9K_ASDF_PROMPT_ALWAYS_SHOW is set to false, + # it'll hide python version in this case because 3.8.1 is the same as the global version. + # POWERLEVEL9K_ASDF_SOURCES will hide python version only if the value of this parameter doesn't + # contain "local". + + # Hide tool versions that don't come from one of these sources. + # + # Available sources: + # + # - shell `asdf current` says "set by ASDF_${TOOL}_VERSION environment variable" + # - local `asdf current` says "set by /some/not/home/directory/file" + # - global `asdf current` says "set by /home/username/file" + # + # Note: If this parameter is set to (shell local global), it won't hide tools. + # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_SOURCES. + typeset -g POWERLEVEL9K_ASDF_SOURCES=(shell local global) + + # If set to false, hide tool versions that are the same as global. + # + # Note: The name of this parameter doesn't reflect its meaning at all. + # Note: If this parameter is set to true, it won't hide tools. + # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_PROMPT_ALWAYS_SHOW. + typeset -g POWERLEVEL9K_ASDF_PROMPT_ALWAYS_SHOW=false + + # If set to false, hide tool versions that are equal to "system". + # + # Note: If this parameter is set to true, it won't hide tools. + # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_SHOW_SYSTEM. + typeset -g POWERLEVEL9K_ASDF_SHOW_SYSTEM=true + + # If set to non-empty value, hide tools unless there is a file matching the specified file pattern + # in the current directory, or its parent diretory, or its grandparent directory, and so on. + # + # Note: If this parameter is set to empty value, it won't hide tools. + # Note: SHOW_ON_UPGLOB isn't specific to asdf. It works with all prompt segments. + # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_SHOW_ON_UPGLOB. + # + # Example: Hide nodejs version when there is no package.json and no *.js files in the current + # directory, in `..`, in `../..` and so on. + # + # typeset -g POWERLEVEL9K_ASDF_NODEJS_SHOW_ON_UPGLOB='*.js|package.json' + typeset -g POWERLEVEL9K_ASDF_SHOW_ON_UPGLOB= + + # Ruby version from asdf. + typeset -g POWERLEVEL9K_ASDF_RUBY_FOREGROUND=0 + typeset -g POWERLEVEL9K_ASDF_RUBY_BACKGROUND=1 + # typeset -g POWERLEVEL9K_ASDF_RUBY_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_RUBY_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Python version from asdf. + typeset -g POWERLEVEL9K_ASDF_PYTHON_FOREGROUND=0 + typeset -g POWERLEVEL9K_ASDF_PYTHON_BACKGROUND=4 + # typeset -g POWERLEVEL9K_ASDF_PYTHON_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_PYTHON_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Go version from asdf. + typeset -g POWERLEVEL9K_ASDF_GOLANG_FOREGROUND=0 + typeset -g POWERLEVEL9K_ASDF_GOLANG_BACKGROUND=4 + # typeset -g POWERLEVEL9K_ASDF_GOLANG_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_GOLANG_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Node.js version from asdf. + typeset -g POWERLEVEL9K_ASDF_NODEJS_FOREGROUND=0 + typeset -g POWERLEVEL9K_ASDF_NODEJS_BACKGROUND=2 + # typeset -g POWERLEVEL9K_ASDF_NODEJS_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_NODEJS_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Rust version from asdf. + typeset -g POWERLEVEL9K_ASDF_RUST_FOREGROUND=0 + typeset -g POWERLEVEL9K_ASDF_RUST_BACKGROUND=208 + # typeset -g POWERLEVEL9K_ASDF_RUST_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_RUST_SHOW_ON_UPGLOB='*.foo|*.bar' + + # .NET Core version from asdf. + typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_FOREGROUND=0 + typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_BACKGROUND=5 + # typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Flutter version from asdf. + typeset -g POWERLEVEL9K_ASDF_FLUTTER_FOREGROUND=0 + typeset -g POWERLEVEL9K_ASDF_FLUTTER_BACKGROUND=4 + # typeset -g POWERLEVEL9K_ASDF_FLUTTER_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_FLUTTER_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Lua version from asdf. + typeset -g POWERLEVEL9K_ASDF_LUA_FOREGROUND=0 + typeset -g POWERLEVEL9K_ASDF_LUA_BACKGROUND=4 + # typeset -g POWERLEVEL9K_ASDF_LUA_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_LUA_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Java version from asdf. + typeset -g POWERLEVEL9K_ASDF_JAVA_FOREGROUND=1 + typeset -g POWERLEVEL9K_ASDF_JAVA_BACKGROUND=7 + # typeset -g POWERLEVEL9K_ASDF_JAVA_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_JAVA_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Perl version from asdf. + typeset -g POWERLEVEL9K_ASDF_PERL_FOREGROUND=0 + typeset -g POWERLEVEL9K_ASDF_PERL_BACKGROUND=4 + # typeset -g POWERLEVEL9K_ASDF_PERL_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_PERL_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Erlang version from asdf. + typeset -g POWERLEVEL9K_ASDF_ERLANG_FOREGROUND=0 + typeset -g POWERLEVEL9K_ASDF_ERLANG_BACKGROUND=1 + # typeset -g POWERLEVEL9K_ASDF_ERLANG_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_ERLANG_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Elixir version from asdf. + typeset -g POWERLEVEL9K_ASDF_ELIXIR_FOREGROUND=0 + typeset -g POWERLEVEL9K_ASDF_ELIXIR_BACKGROUND=5 + # typeset -g POWERLEVEL9K_ASDF_ELIXIR_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_ELIXIR_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Postgres version from asdf. + typeset -g POWERLEVEL9K_ASDF_POSTGRES_FOREGROUND=0 + typeset -g POWERLEVEL9K_ASDF_POSTGRES_BACKGROUND=6 + # typeset -g POWERLEVEL9K_ASDF_POSTGRES_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_POSTGRES_SHOW_ON_UPGLOB='*.foo|*.bar' + + # PHP version from asdf. + typeset -g POWERLEVEL9K_ASDF_PHP_FOREGROUND=0 + typeset -g POWERLEVEL9K_ASDF_PHP_BACKGROUND=5 + # typeset -g POWERLEVEL9K_ASDF_PHP_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_PHP_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Haskell version from asdf. + typeset -g POWERLEVEL9K_ASDF_HASKELL_FOREGROUND=0 + typeset -g POWERLEVEL9K_ASDF_HASKELL_BACKGROUND=3 + # typeset -g POWERLEVEL9K_ASDF_HASKELL_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_HASKELL_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Julia version from asdf. + typeset -g POWERLEVEL9K_ASDF_JULIA_FOREGROUND=0 + typeset -g POWERLEVEL9K_ASDF_JULIA_BACKGROUND=2 + # typeset -g POWERLEVEL9K_ASDF_JULIA_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_JULIA_SHOW_ON_UPGLOB='*.foo|*.bar' + + ##########[ nordvpn: nordvpn connection status, linux only (https://nordvpn.com/) ]########### + # NordVPN connection indicator color. + # typeset -g POWERLEVEL9K_NORDVPN_FOREGROUND=7 + # typeset -g POWERLEVEL9K_NORDVPN_BACKGROUND=4 + # Hide NordVPN connection indicator when not connected. + typeset -g POWERLEVEL9K_NORDVPN_{DISCONNECTED,CONNECTING,DISCONNECTING}_CONTENT_EXPANSION= + typeset -g POWERLEVEL9K_NORDVPN_{DISCONNECTED,CONNECTING,DISCONNECTING}_VISUAL_IDENTIFIER_EXPANSION= + # Custom icon. + # typeset -g POWERLEVEL9K_NORDVPN_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #################[ ranger: ranger shell (https://github.com/ranger/ranger) ]################## + # Ranger shell color. + # typeset -g POWERLEVEL9K_RANGER_FOREGROUND=3 + # typeset -g POWERLEVEL9K_RANGER_BACKGROUND=0 + # Custom icon. + # typeset -g POWERLEVEL9K_RANGER_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ######################[ nnn: nnn shell (https://github.com/jarun/nnn) ]####################### + # Nnn shell color. + # typeset -g POWERLEVEL9K_NNN_FOREGROUND=0 + # typeset -g POWERLEVEL9K_NNN_BACKGROUND=6 + # Custom icon. + # typeset -g POWERLEVEL9K_NNN_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###########################[ vim_shell: vim shell indicator (:sh) ]########################### + # Vim shell indicator color. + # typeset -g POWERLEVEL9K_VIM_SHELL_FOREGROUND=0 + # typeset -g POWERLEVEL9K_VIM_SHELL_BACKGROUND=2 + # Custom icon. + # typeset -g POWERLEVEL9K_VIM_SHELL_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ######[ midnight_commander: midnight commander shell (https://midnight-commander.org/) ]###### + # Midnight Commander shell color. + # typeset -g POWERLEVEL9K_MIDNIGHT_COMMANDER_FOREGROUND=3 + # typeset -g POWERLEVEL9K_MIDNIGHT_COMMANDER_BACKGROUND=0 + # Custom icon. + # typeset -g POWERLEVEL9K_MIDNIGHT_COMMANDER_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #[ nix_shell: nix shell (https://nixos.org/nixos/nix-pills/developing-with-nix-shell.html) ]## + # Nix shell color. + # typeset -g POWERLEVEL9K_NIX_SHELL_FOREGROUND=0 + # typeset -g POWERLEVEL9K_NIX_SHELL_BACKGROUND=4 + + # Tip: If you want to see just the icon without "pure" and "impure", uncomment the next line. + # typeset -g POWERLEVEL9K_NIX_SHELL_CONTENT_EXPANSION= + + # Custom icon. + # typeset -g POWERLEVEL9K_NIX_SHELL_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##################################[ disk_usage: disk usage ]################################## + # Colors for different levels of disk usage. + # typeset -g POWERLEVEL9K_DISK_USAGE_NORMAL_FOREGROUND=3 + # typeset -g POWERLEVEL9K_DISK_USAGE_NORMAL_BACKGROUND=0 + # typeset -g POWERLEVEL9K_DISK_USAGE_WARNING_FOREGROUND=0 + # typeset -g POWERLEVEL9K_DISK_USAGE_WARNING_BACKGROUND=3 + # typeset -g POWERLEVEL9K_DISK_USAGE_CRITICAL_FOREGROUND=7 + # typeset -g POWERLEVEL9K_DISK_USAGE_CRITICAL_BACKGROUND=1 + # Thresholds for different levels of disk usage (percentage points). + typeset -g POWERLEVEL9K_DISK_USAGE_WARNING_LEVEL=90 + typeset -g POWERLEVEL9K_DISK_USAGE_CRITICAL_LEVEL=95 + # If set to true, hide disk usage when below $POWERLEVEL9K_DISK_USAGE_WARNING_LEVEL percent. + typeset -g POWERLEVEL9K_DISK_USAGE_ONLY_WARNING=false + # Custom icon. + # typeset -g POWERLEVEL9K_DISK_USAGE_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###########[ vi_mode: vi mode (you don't need this if you've enabled prompt_char) ]########### + # Foreground color. + typeset -g POWERLEVEL9K_VI_MODE_FOREGROUND=0 + # Text and color for normal (a.k.a. command) vi mode. + typeset -g POWERLEVEL9K_VI_COMMAND_MODE_STRING=NORMAL + typeset -g POWERLEVEL9K_VI_MODE_NORMAL_BACKGROUND=2 + # Text and color for visual vi mode. + typeset -g POWERLEVEL9K_VI_VISUAL_MODE_STRING=VISUAL + typeset -g POWERLEVEL9K_VI_MODE_VISUAL_BACKGROUND=4 + # Text and color for overtype (a.k.a. overwrite and replace) vi mode. + typeset -g POWERLEVEL9K_VI_OVERWRITE_MODE_STRING=OVERTYPE + typeset -g POWERLEVEL9K_VI_MODE_OVERWRITE_BACKGROUND=3 + # Text and color for insert vi mode. + typeset -g POWERLEVEL9K_VI_INSERT_MODE_STRING= + typeset -g POWERLEVEL9K_VI_MODE_INSERT_FOREGROUND=8 + + ######################################[ ram: free RAM ]####################################### + # RAM color. + # typeset -g POWERLEVEL9K_RAM_FOREGROUND=0 + # typeset -g POWERLEVEL9K_RAM_BACKGROUND=3 + # Custom icon. + # typeset -g POWERLEVEL9K_RAM_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #####################################[ swap: used swap ]###################################### + # Swap color. + # typeset -g POWERLEVEL9K_SWAP_FOREGROUND=0 + # typeset -g POWERLEVEL9K_SWAP_BACKGROUND=3 + # Custom icon. + # typeset -g POWERLEVEL9K_SWAP_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ######################################[ load: CPU load ]###################################### + # Show average CPU load over this many last minutes. Valid values are 1, 5 and 15. + typeset -g POWERLEVEL9K_LOAD_WHICH=5 + # Load color when load is under 50%. + # typeset -g POWERLEVEL9K_LOAD_NORMAL_FOREGROUND=0 + # typeset -g POWERLEVEL9K_LOAD_NORMAL_BACKGROUND=2 + # Load color when load is between 50% and 70%. + # typeset -g POWERLEVEL9K_LOAD_WARNING_FOREGROUND=0 + # typeset -g POWERLEVEL9K_LOAD_WARNING_BACKGROUND=3 + # Load color when load is over 70%. + # typeset -g POWERLEVEL9K_LOAD_CRITICAL_FOREGROUND=0 + # typeset -g POWERLEVEL9K_LOAD_CRITICAL_BACKGROUND=1 + # Custom icon. + # typeset -g POWERLEVEL9K_LOAD_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ################[ todo: todo items (https://github.com/todotxt/todo.txt-cli) ]################ + # Todo color. + # typeset -g POWERLEVEL9K_TODO_FOREGROUND=0 + # typeset -g POWERLEVEL9K_TODO_BACKGROUND=8 + # Hide todo when the total number of tasks is zero. + typeset -g POWERLEVEL9K_TODO_HIDE_ZERO_TOTAL=true + # Hide todo when the number of tasks after filtering is zero. + typeset -g POWERLEVEL9K_TODO_HIDE_ZERO_FILTERED=false + + # Todo format. The following parameters are available within the expansion. + # + # - P9K_TODO_TOTAL_TASK_COUNT The total number of tasks. + # - P9K_TODO_FILTERED_TASK_COUNT The number of tasks after filtering. + # + # These variables correspond to the last line of the output of `todo.sh -p ls`: + # + # TODO: 24 of 42 tasks shown + # + # Here 24 is P9K_TODO_FILTERED_TASK_COUNT and 42 is P9K_TODO_TOTAL_TASK_COUNT. + # + # typeset -g POWERLEVEL9K_TODO_CONTENT_EXPANSION='$P9K_TODO_FILTERED_TASK_COUNT' + + # Custom icon. + # typeset -g POWERLEVEL9K_TODO_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###########[ timewarrior: timewarrior tracking status (https://timewarrior.net/) ]############ + # Timewarrior color. + # typeset -g POWERLEVEL9K_TIMEWARRIOR_FOREGROUND=255 + # typeset -g POWERLEVEL9K_TIMEWARRIOR_BACKGROUND=8 + + # If the tracked task is longer than 24 characters, truncate and append "…". + # Tip: To always display tasks without truncation, delete the following parameter. + # Tip: To hide task names and display just the icon when time tracking is enabled, set the + # value of the following parameter to "". + typeset -g POWERLEVEL9K_TIMEWARRIOR_CONTENT_EXPANSION='${P9K_CONTENT:0:24}${${P9K_CONTENT:24}:+…}' + + # Custom icon. + # typeset -g POWERLEVEL9K_TIMEWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##############[ taskwarrior: taskwarrior task count (https://taskwarrior.org/) ]############## + # Taskwarrior color. + # typeset -g POWERLEVEL9K_TASKWARRIOR_FOREGROUND=0 + # typeset -g POWERLEVEL9K_TASKWARRIOR_BACKGROUND=6 + + # Taskwarrior segment format. The following parameters are available within the expansion. + # + # - P9K_TASKWARRIOR_PENDING_COUNT The number of pending tasks: `task +PENDING count`. + # - P9K_TASKWARRIOR_OVERDUE_COUNT The number of overdue tasks: `task +OVERDUE count`. + # + # Zero values are represented as empty parameters. + # + # The default format: + # + # '${P9K_TASKWARRIOR_OVERDUE_COUNT:+"!$P9K_TASKWARRIOR_OVERDUE_COUNT/"}$P9K_TASKWARRIOR_PENDING_COUNT' + # + # typeset -g POWERLEVEL9K_TASKWARRIOR_CONTENT_EXPANSION='$P9K_TASKWARRIOR_PENDING_COUNT' + + # Custom icon. + # typeset -g POWERLEVEL9K_TASKWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##################################[ context: user@hostname ]################################## + # Context color when running with privileges. + typeset -g POWERLEVEL9K_CONTEXT_ROOT_FOREGROUND=1 + typeset -g POWERLEVEL9K_CONTEXT_ROOT_BACKGROUND=0 + # Context color in SSH without privileges. + typeset -g POWERLEVEL9K_CONTEXT_{REMOTE,REMOTE_SUDO}_FOREGROUND=3 + typeset -g POWERLEVEL9K_CONTEXT_{REMOTE,REMOTE_SUDO}_BACKGROUND=0 + # Default context color (no privileges, no SSH). + typeset -g POWERLEVEL9K_CONTEXT_FOREGROUND=3 + typeset -g POWERLEVEL9K_CONTEXT_BACKGROUND=0 + + # Context format when running with privileges: user@hostname. + typeset -g POWERLEVEL9K_CONTEXT_ROOT_TEMPLATE='%n@%m' + # Context format when in SSH without privileges: user@hostname. + typeset -g POWERLEVEL9K_CONTEXT_{REMOTE,REMOTE_SUDO}_TEMPLATE='%n@%m' + # Default context format (no privileges, no SSH): user@hostname. + typeset -g POWERLEVEL9K_CONTEXT_TEMPLATE='%n@%m' + + # Don't show context unless running with privileges or in SSH. + # Tip: Remove the next line to always show context. + typeset -g POWERLEVEL9K_CONTEXT_{DEFAULT,SUDO}_{CONTENT,VISUAL_IDENTIFIER}_EXPANSION= + + # Custom icon. + # typeset -g POWERLEVEL9K_CONTEXT_VISUAL_IDENTIFIER_EXPANSION='⭐' + # Custom prefix. + # typeset -g POWERLEVEL9K_CONTEXT_PREFIX='with ' + + ###[ virtualenv: python virtual environment (https://docs.python.org/3/library/venv.html) ]### + # Python virtual environment color. + # typeset -g POWERLEVEL9K_VIRTUALENV_FOREGROUND=0 + # typeset -g POWERLEVEL9K_VIRTUALENV_BACKGROUND=4 + # Don't show Python version next to the virtual environment name. + typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_PYTHON_VERSION=false + # Don't show virtualenv if pyenv is already shown. + typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_WITH_PYENV=false + # Separate environment name from Python version only with a space. + typeset -g POWERLEVEL9K_VIRTUALENV_{LEFT,RIGHT}_DELIMITER= + # Custom icon. + # typeset -g POWERLEVEL9K_VIRTUALENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #####################[ anaconda: conda environment (https://conda.io/) ]###################### + # Anaconda environment color. + # typeset -g POWERLEVEL9K_ANACONDA_FOREGROUND=0 + # typeset -g POWERLEVEL9K_ANACONDA_BACKGROUND=4 + + # Anaconda segment format. The following parameters are available within the expansion. + # + # - CONDA_PREFIX Absolute path to the active Anaconda/Miniconda environment. + # - CONDA_DEFAULT_ENV Name of the active Anaconda/Miniconda environment. + # - CONDA_PROMPT_MODIFIER Configurable prompt modifier (see below). + # - P9K_ANACONDA_PYTHON_VERSION Current python version (python --version). + # + # CONDA_PROMPT_MODIFIER can be configured with the following command: + # + # conda config --set env_prompt '({default_env}) ' + # + # The last argument is a Python format string that can use the following variables: + # + # - prefix The same as CONDA_PREFIX. + # - default_env The same as CONDA_DEFAULT_ENV. + # - name The last segment of CONDA_PREFIX. + # - stacked_env Comma-separated list of names in the environment stack. The first element is + # always the same as default_env. + # + # Note: '({default_env}) ' is the default value of env_prompt. + # + # The default value of POWERLEVEL9K_ANACONDA_CONTENT_EXPANSION expands to $CONDA_PROMPT_MODIFIER + # without the surrounding parentheses, or to the last path component of CONDA_PREFIX if the former + # is empty. + typeset -g POWERLEVEL9K_ANACONDA_CONTENT_EXPANSION='${${${${CONDA_PROMPT_MODIFIER#\(}% }%\)}:-${CONDA_PREFIX:t}}' + + # Custom icon. + # typeset -g POWERLEVEL9K_ANACONDA_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ################[ pyenv: python environment (https://github.com/pyenv/pyenv) ]################ + # Pyenv color. + # typeset -g POWERLEVEL9K_PYENV_FOREGROUND=0 + # typeset -g POWERLEVEL9K_PYENV_BACKGROUND=4 + # Hide python version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_PYENV_SOURCES=(shell local global) + # If set to false, hide python version if it's the same as global: + # $(pyenv version-name) == $(pyenv global). + typeset -g POWERLEVEL9K_PYENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide python version if it's equal to "system". + typeset -g POWERLEVEL9K_PYENV_SHOW_SYSTEM=true + + # Pyenv segment format. The following parameters are available within the expansion. + # + # - P9K_CONTENT Current pyenv environment (pyenv version-name). + # - P9K_PYENV_PYTHON_VERSION Current python version (python --version). + # + # The default format has the following logic: + # + # 1. Display "$P9K_CONTENT $P9K_PYENV_PYTHON_VERSION" if $P9K_PYENV_PYTHON_VERSION is not + # empty and unequal to $P9K_CONTENT. + # 2. Otherwise display just "$P9K_CONTENT". + typeset -g POWERLEVEL9K_PYENV_CONTENT_EXPANSION='${P9K_CONTENT}${${P9K_PYENV_PYTHON_VERSION:#$P9K_CONTENT}:+ $P9K_PYENV_PYTHON_VERSION}' + + # Custom icon. + # typeset -g POWERLEVEL9K_PYENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ################[ goenv: go environment (https://github.com/syndbg/goenv) ]################ + # Goenv color. + # typeset -g POWERLEVEL9K_GOENV_FOREGROUND=0 + # typeset -g POWERLEVEL9K_GOENV_BACKGROUND=4 + # Hide go version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_GOENV_SOURCES=(shell local global) + # If set to false, hide go version if it's the same as global: + # $(goenv version-name) == $(goenv global). + typeset -g POWERLEVEL9K_GOENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide go version if it's equal to "system". + typeset -g POWERLEVEL9K_GOENV_SHOW_SYSTEM=true + # Custom icon. + # typeset -g POWERLEVEL9K_GOENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##########[ nodenv: node.js version from nodenv (https://github.com/nodenv/nodenv) ]########## + # Nodenv color. + # typeset -g POWERLEVEL9K_NODENV_FOREGROUND=2 + # typeset -g POWERLEVEL9K_NODENV_BACKGROUND=0 + # Hide node version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_NODENV_SOURCES=(shell local global) + # If set to false, hide node version if it's the same as global: + # $(nodenv version-name) == $(nodenv global). + typeset -g POWERLEVEL9K_NODENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide node version if it's equal to "system". + typeset -g POWERLEVEL9K_NODENV_SHOW_SYSTEM=true + # Custom icon. + # typeset -g POWERLEVEL9K_NODENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##############[ nvm: node.js version from nvm (https://github.com/nvm-sh/nvm) ]############### + # Nvm color. + # typeset -g POWERLEVEL9K_NVM_FOREGROUND=0 + # typeset -g POWERLEVEL9K_NVM_BACKGROUND=5 + # Custom icon. + # typeset -g POWERLEVEL9K_NVM_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ############[ nodeenv: node.js environment (https://github.com/ekalinin/nodeenv) ]############ + # Nodeenv color. + # typeset -g POWERLEVEL9K_NODEENV_FOREGROUND=2 + # typeset -g POWERLEVEL9K_NODEENV_BACKGROUND=0 + # Don't show Node version next to the environment name. + typeset -g POWERLEVEL9K_NODEENV_SHOW_NODE_VERSION=false + # Separate environment name from Node version only with a space. + typeset -g POWERLEVEL9K_NODEENV_{LEFT,RIGHT}_DELIMITER= + # Custom icon. + # typeset -g POWERLEVEL9K_NODEENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##############################[ node_version: node.js version ]############################### + # Node version color. + # typeset -g POWERLEVEL9K_NODE_VERSION_FOREGROUND=7 + # typeset -g POWERLEVEL9K_NODE_VERSION_BACKGROUND=2 + # Show node version only when in a directory tree containing package.json. + typeset -g POWERLEVEL9K_NODE_VERSION_PROJECT_ONLY=true + # Custom icon. + # typeset -g POWERLEVEL9K_NODE_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #######################[ go_version: go version (https://golang.org) ]######################## + # Go version color. + # typeset -g POWERLEVEL9K_GO_VERSION_FOREGROUND=255 + # typeset -g POWERLEVEL9K_GO_VERSION_BACKGROUND=2 + # Show go version only when in a go project subdirectory. + typeset -g POWERLEVEL9K_GO_VERSION_PROJECT_ONLY=true + # Custom icon. + # typeset -g POWERLEVEL9K_GO_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #################[ rust_version: rustc version (https://www.rust-lang.org) ]################## + # Rust version color. + # typeset -g POWERLEVEL9K_RUST_VERSION_FOREGROUND=0 + # typeset -g POWERLEVEL9K_RUST_VERSION_BACKGROUND=208 + # Show rust version only when in a rust project subdirectory. + typeset -g POWERLEVEL9K_RUST_VERSION_PROJECT_ONLY=true + # Custom icon. + # typeset -g POWERLEVEL9K_RUST_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###############[ dotnet_version: .NET version (https://dotnet.microsoft.com) ]################ + # .NET version color. + # typeset -g POWERLEVEL9K_DOTNET_VERSION_FOREGROUND=7 + # typeset -g POWERLEVEL9K_DOTNET_VERSION_BACKGROUND=5 + # Show .NET version only when in a .NET project subdirectory. + typeset -g POWERLEVEL9K_DOTNET_VERSION_PROJECT_ONLY=true + # Custom icon. + # typeset -g POWERLEVEL9K_DOTNET_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #####################[ php_version: php version (https://www.php.net/) ]###################### + # PHP version color. + typeset -g POWERLEVEL9K_PHP_VERSION_FOREGROUND=0 + typeset -g POWERLEVEL9K_PHP_VERSION_BACKGROUND=5 + # Show PHP version only when in a PHP project subdirectory. + typeset -g POWERLEVEL9K_PHP_VERSION_PROJECT_ONLY=true + # Custom icon. + # typeset -g POWERLEVEL9K_PHP_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##########[ laravel_version: laravel php framework version (https://laravel.com/) ]########### + # Laravel version color. + typeset -g POWERLEVEL9K_LARAVEL_VERSION_FOREGROUND=1 + typeset -g POWERLEVEL9K_LARAVEL_VERSION_BACKGROUND=7 + # Custom icon. + # typeset -g POWERLEVEL9K_LARAVEL_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #############[ rbenv: ruby version from rbenv (https://github.com/rbenv/rbenv) ]############## + # Rbenv color. + # typeset -g POWERLEVEL9K_RBENV_FOREGROUND=0 + # typeset -g POWERLEVEL9K_RBENV_BACKGROUND=1 + # Hide ruby version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_RBENV_SOURCES=(shell local global) + # If set to false, hide ruby version if it's the same as global: + # $(rbenv version-name) == $(rbenv global). + typeset -g POWERLEVEL9K_RBENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide ruby version if it's equal to "system". + typeset -g POWERLEVEL9K_RBENV_SHOW_SYSTEM=true + # Custom icon. + # typeset -g POWERLEVEL9K_RBENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ####################[ java_version: java version (https://www.java.com/) ]#################### + # Java version color. + typeset -g POWERLEVEL9K_JAVA_VERSION_FOREGROUND=1 + typeset -g POWERLEVEL9K_JAVA_VERSION_BACKGROUND=7 + # Show java version only when in a java project subdirectory. + typeset -g POWERLEVEL9K_JAVA_VERSION_PROJECT_ONLY=true + # Show brief version. + typeset -g POWERLEVEL9K_JAVA_VERSION_FULL=false + # Custom icon. + # typeset -g POWERLEVEL9K_JAVA_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###[ package: name@version from package.json (https://docs.npmjs.com/files/package.json) ]#### + # Package color. + # typeset -g POWERLEVEL9K_PACKAGE_FOREGROUND=0 + # typeset -g POWERLEVEL9K_PACKAGE_BACKGROUND=6 + + # Package format. The following parameters are available within the expansion. + # + # - P9K_PACKAGE_NAME The value of `name` field in package.json. + # - P9K_PACKAGE_VERSION The value of `version` field in package.json. + # + # typeset -g POWERLEVEL9K_PACKAGE_CONTENT_EXPANSION='${P9K_PACKAGE_NAME//\%/%%}@${P9K_PACKAGE_VERSION//\%/%%}' + + # Custom icon. + # typeset -g POWERLEVEL9K_PACKAGE_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #######################[ rvm: ruby version from rvm (https://rvm.io) ]######################## + # Rvm color. + # typeset -g POWERLEVEL9K_RVM_FOREGROUND=0 + # typeset -g POWERLEVEL9K_RVM_BACKGROUND=240 + # Don't show @gemset at the end. + typeset -g POWERLEVEL9K_RVM_SHOW_GEMSET=false + # Don't show ruby- at the front. + typeset -g POWERLEVEL9K_RVM_SHOW_PREFIX=false + # Custom icon. + # typeset -g POWERLEVEL9K_RVM_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###########[ fvm: flutter version management (https://github.com/leoafarias/fvm) ]############ + # Fvm color. + # typeset -g POWERLEVEL9K_FVM_FOREGROUND=0 + # typeset -g POWERLEVEL9K_FVM_BACKGROUND=4 + # Custom icon. + # typeset -g POWERLEVEL9K_FVM_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##########[ luaenv: lua version from luaenv (https://github.com/cehoffman/luaenv) ]########### + # Lua color. + # typeset -g POWERLEVEL9K_LUAENV_FOREGROUND=0 + # typeset -g POWERLEVEL9K_LUAENV_BACKGROUND=4 + # Hide lua version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_LUAENV_SOURCES=(shell local global) + # If set to false, hide lua version if it's the same as global: + # $(luaenv version-name) == $(luaenv global). + typeset -g POWERLEVEL9K_LUAENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide lua version if it's equal to "system". + typeset -g POWERLEVEL9K_LUAENV_SHOW_SYSTEM=true + # Custom icon. + # typeset -g POWERLEVEL9K_LUAENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###############[ jenv: java version from jenv (https://github.com/jenv/jenv) ]################ + # Java color. + # typeset -g POWERLEVEL9K_JENV_FOREGROUND=1 + # typeset -g POWERLEVEL9K_JENV_BACKGROUND=7 + # Hide java version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_JENV_SOURCES=(shell local global) + # If set to false, hide java version if it's the same as global: + # $(jenv version-name) == $(jenv global). + typeset -g POWERLEVEL9K_JENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide java version if it's equal to "system". + typeset -g POWERLEVEL9K_JENV_SHOW_SYSTEM=true + # Custom icon. + # typeset -g POWERLEVEL9K_JENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###########[ plenv: perl version from plenv (https://github.com/tokuhirom/plenv) ]############ + # Perl color. + # typeset -g POWERLEVEL9K_PLENV_FOREGROUND=0 + # typeset -g POWERLEVEL9K_PLENV_BACKGROUND=4 + # Hide perl version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_PLENV_SOURCES=(shell local global) + # If set to false, hide perl version if it's the same as global: + # $(plenv version-name) == $(plenv global). + typeset -g POWERLEVEL9K_PLENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide perl version if it's equal to "system". + typeset -g POWERLEVEL9K_PLENV_SHOW_SYSTEM=true + # Custom icon. + # typeset -g POWERLEVEL9K_PLENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ############[ phpenv: php version from phpenv (https://github.com/phpenv/phpenv) ]############ + # PHP color. + # typeset -g POWERLEVEL9K_PHPENV_FOREGROUND=0 + # typeset -g POWERLEVEL9K_PHPENV_BACKGROUND=5 + # Hide php version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_PHPENV_SOURCES=(shell local global) + # If set to false, hide php version if it's the same as global: + # $(phpenv version-name) == $(phpenv global). + typeset -g POWERLEVEL9K_PHPENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide PHP version if it's equal to "system". + typeset -g POWERLEVEL9K_PHPENV_SHOW_SYSTEM=true + # Custom icon. + # typeset -g POWERLEVEL9K_PHPENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##########[ haskell_stack: haskell version from stack (https://haskellstack.org/) ]########### + # Haskell color. + # typeset -g POWERLEVEL9K_HASKELL_STACK_FOREGROUND=0 + # typeset -g POWERLEVEL9K_HASKELL_STACK_BACKGROUND=3 + + # Hide haskell version if it doesn't come from one of these sources. + # + # shell: version is set by STACK_YAML + # local: version is set by stack.yaml up the directory tree + # global: version is set by the implicit global project (~/.stack/global-project/stack.yaml) + typeset -g POWERLEVEL9K_HASKELL_STACK_SOURCES=(shell local) + # If set to false, hide haskell version if it's the same as in the implicit global project. + typeset -g POWERLEVEL9K_HASKELL_STACK_ALWAYS_SHOW=true + # Custom icon. + # typeset -g POWERLEVEL9K_HASKELL_STACK_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ################[ terraform: terraform workspace (https://www.terraform.io) ]################# + # Don't show terraform workspace if it's literally "default". + typeset -g POWERLEVEL9K_TERRAFORM_SHOW_DEFAULT=false + # POWERLEVEL9K_TERRAFORM_CLASSES is an array with even number of elements. The first element + # in each pair defines a pattern against which the current terraform workspace gets matched. + # More specifically, it's P9K_CONTENT prior to the application of context expansion (see below) + # that gets matched. If you unset all POWERLEVEL9K_TERRAFORM_*CONTENT_EXPANSION parameters, + # you'll see this value in your prompt. The second element of each pair in + # POWERLEVEL9K_TERRAFORM_CLASSES defines the workspace class. Patterns are tried in order. The + # first match wins. + # + # For example, given these settings: + # + # typeset -g POWERLEVEL9K_TERRAFORM_CLASSES=( + # '*prod*' PROD + # '*test*' TEST + # '*' OTHER) + # + # If your current terraform workspace is "project_test", its class is TEST because "project_test" + # doesn't match the pattern '*prod*' but does match '*test*'. + # + # You can define different colors, icons and content expansions for different classes: + # + # typeset -g POWERLEVEL9K_TERRAFORM_TEST_FOREGROUND=2 + # typeset -g POWERLEVEL9K_TERRAFORM_TEST_BACKGROUND=0 + # typeset -g POWERLEVEL9K_TERRAFORM_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_TERRAFORM_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <' + typeset -g POWERLEVEL9K_TERRAFORM_CLASSES=( + # '*prod*' PROD # These values are examples that are unlikely + # '*test*' TEST # to match your needs. Customize them as needed. + '*' OTHER) + typeset -g POWERLEVEL9K_TERRAFORM_OTHER_FOREGROUND=4 + typeset -g POWERLEVEL9K_TERRAFORM_OTHER_BACKGROUND=0 + # typeset -g POWERLEVEL9K_TERRAFORM_OTHER_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #############[ kubecontext: current kubernetes context (https://kubernetes.io/) ]############# + # Show kubecontext only when the the command you are typing invokes one of these tools. + # Tip: Remove the next line to always show kubecontext. + typeset -g POWERLEVEL9K_KUBECONTEXT_SHOW_ON_COMMAND='kubectl|helm|kubens|kubectx|oc|istioctl|kogito|k9s|helmfile' + + # Kubernetes context classes for the purpose of using different colors, icons and expansions with + # different contexts. + # + # POWERLEVEL9K_KUBECONTEXT_CLASSES is an array with even number of elements. The first element + # in each pair defines a pattern against which the current kubernetes context gets matched. + # More specifically, it's P9K_CONTENT prior to the application of context expansion (see below) + # that gets matched. If you unset all POWERLEVEL9K_KUBECONTEXT_*CONTENT_EXPANSION parameters, + # you'll see this value in your prompt. The second element of each pair in + # POWERLEVEL9K_KUBECONTEXT_CLASSES defines the context class. Patterns are tried in order. The + # first match wins. + # + # For example, given these settings: + # + # typeset -g POWERLEVEL9K_KUBECONTEXT_CLASSES=( + # '*prod*' PROD + # '*test*' TEST + # '*' DEFAULT) + # + # If your current kubernetes context is "deathray-testing/default", its class is TEST + # because "deathray-testing/default" doesn't match the pattern '*prod*' but does match '*test*'. + # + # You can define different colors, icons and content expansions for different classes: + # + # typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_FOREGROUND=0 + # typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_BACKGROUND=2 + # typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <' + typeset -g POWERLEVEL9K_KUBECONTEXT_CLASSES=( + # '*prod*' PROD # These values are examples that are unlikely + # '*test*' TEST # to match your needs. Customize them as needed. + '*' DEFAULT) + typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_FOREGROUND=7 + typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_BACKGROUND=5 + # typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐' + + # Use POWERLEVEL9K_KUBECONTEXT_CONTENT_EXPANSION to specify the content displayed by kubecontext + # segment. Parameter expansions are very flexible and fast, too. See reference: + # http://zsh.sourceforge.net/Doc/Release/Expansion.html#Parameter-Expansion. + # + # Within the expansion the following parameters are always available: + # + # - P9K_CONTENT The content that would've been displayed if there was no content + # expansion defined. + # - P9K_KUBECONTEXT_NAME The current context's name. Corresponds to column NAME in the + # output of `kubectl config get-contexts`. + # - P9K_KUBECONTEXT_CLUSTER The current context's cluster. Corresponds to column CLUSTER in the + # output of `kubectl config get-contexts`. + # - P9K_KUBECONTEXT_NAMESPACE The current context's namespace. Corresponds to column NAMESPACE + # in the output of `kubectl config get-contexts`. If there is no + # namespace, the parameter is set to "default". + # - P9K_KUBECONTEXT_USER The current context's user. Corresponds to column AUTHINFO in the + # output of `kubectl config get-contexts`. + # + # If the context points to Google Kubernetes Engine (GKE) or Elastic Kubernetes Service (EKS), + # the following extra parameters are available: + # + # - P9K_KUBECONTEXT_CLOUD_NAME Either "gke" or "eks". + # - P9K_KUBECONTEXT_CLOUD_ACCOUNT Account/project ID. + # - P9K_KUBECONTEXT_CLOUD_ZONE Availability zone. + # - P9K_KUBECONTEXT_CLOUD_CLUSTER Cluster. + # + # P9K_KUBECONTEXT_CLOUD_* parameters are derived from P9K_KUBECONTEXT_CLUSTER. For example, + # if P9K_KUBECONTEXT_CLUSTER is "gke_my-account_us-east1-a_my-cluster-01": + # + # - P9K_KUBECONTEXT_CLOUD_NAME=gke + # - P9K_KUBECONTEXT_CLOUD_ACCOUNT=my-account + # - P9K_KUBECONTEXT_CLOUD_ZONE=us-east1-a + # - P9K_KUBECONTEXT_CLOUD_CLUSTER=my-cluster-01 + # + # If P9K_KUBECONTEXT_CLUSTER is "arn:aws:eks:us-east-1:123456789012:cluster/my-cluster-01": + # + # - P9K_KUBECONTEXT_CLOUD_NAME=eks + # - P9K_KUBECONTEXT_CLOUD_ACCOUNT=123456789012 + # - P9K_KUBECONTEXT_CLOUD_ZONE=us-east-1 + # - P9K_KUBECONTEXT_CLOUD_CLUSTER=my-cluster-01 + typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION= + # Show P9K_KUBECONTEXT_CLOUD_CLUSTER if it's not empty and fall back to P9K_KUBECONTEXT_NAME. + POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION+='${P9K_KUBECONTEXT_CLOUD_CLUSTER:-${P9K_KUBECONTEXT_NAME}}' + # Append the current context's namespace if it's not "default". + POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION+='${${:-/$P9K_KUBECONTEXT_NAMESPACE}:#/default}' + + # Custom prefix. + # typeset -g POWERLEVEL9K_KUBECONTEXT_PREFIX='at ' + + #[ aws: aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) ]# + # Show aws only when the the command you are typing invokes one of these tools. + # Tip: Remove the next line to always show aws. + typeset -g POWERLEVEL9K_AWS_SHOW_ON_COMMAND='aws|awless|terraform|pulumi|terragrunt' + + # POWERLEVEL9K_AWS_CLASSES is an array with even number of elements. The first element + # in each pair defines a pattern against which the current AWS profile gets matched. + # More specifically, it's P9K_CONTENT prior to the application of context expansion (see below) + # that gets matched. If you unset all POWERLEVEL9K_AWS_*CONTENT_EXPANSION parameters, + # you'll see this value in your prompt. The second element of each pair in + # POWERLEVEL9K_AWS_CLASSES defines the profile class. Patterns are tried in order. The + # first match wins. + # + # For example, given these settings: + # + # typeset -g POWERLEVEL9K_AWS_CLASSES=( + # '*prod*' PROD + # '*test*' TEST + # '*' DEFAULT) + # + # If your current AWS profile is "company_test", its class is TEST + # because "company_test" doesn't match the pattern '*prod*' but does match '*test*'. + # + # You can define different colors, icons and content expansions for different classes: + # + # typeset -g POWERLEVEL9K_AWS_TEST_FOREGROUND=28 + # typeset -g POWERLEVEL9K_AWS_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_AWS_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <' + typeset -g POWERLEVEL9K_AWS_CLASSES=( + # '*prod*' PROD # These values are examples that are unlikely + # '*test*' TEST # to match your needs. Customize them as needed. + '*' DEFAULT) + # typeset -g POWERLEVEL9K_AWS_DEFAULT_FOREGROUND=7 + # typeset -g POWERLEVEL9K_AWS_DEFAULT_BACKGROUND=1 + # typeset -g POWERLEVEL9K_AWS_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #[ aws_eb_env: aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/) ]# + # AWS Elastic Beanstalk environment color. + # typeset -g POWERLEVEL9K_AWS_EB_ENV_FOREGROUND=2 + # typeset -g POWERLEVEL9K_AWS_EB_ENV_BACKGROUND=0 + # Custom icon. + # typeset -g POWERLEVEL9K_AWS_EB_ENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##########[ azure: azure account name (https://docs.microsoft.com/en-us/cli/azure) ]########## + # Show azure only when the the command you are typing invokes one of these tools. + # Tip: Remove the next line to always show azure. + typeset -g POWERLEVEL9K_AZURE_SHOW_ON_COMMAND='az|terraform|pulumi|terragrunt' + # Azure account name color. + # typeset -g POWERLEVEL9K_AZURE_FOREGROUND=7 + # typeset -g POWERLEVEL9K_AZURE_BACKGROUND=4 + # Custom icon. + # typeset -g POWERLEVEL9K_AZURE_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##########[ gcloud: google cloud account and project (https://cloud.google.com/) ]########### + # Show gcloud only when the the command you are typing invokes one of these tools. + # Tip: Remove the next line to always show gcloud. + typeset -g POWERLEVEL9K_GCLOUD_SHOW_ON_COMMAND='gcloud|gcs' + # Google cloud color. + # typeset -g POWERLEVEL9K_GCLOUD_FOREGROUND=7 + # typeset -g POWERLEVEL9K_GCLOUD_BACKGROUND=4 + + # Google cloud format. Change the value of POWERLEVEL9K_GCLOUD_PARTIAL_CONTENT_EXPANSION and/or + # POWERLEVEL9K_GCLOUD_COMPLETE_CONTENT_EXPANSION if the default is too verbose or not informative + # enough. You can use the following parameters in the expansions. Each of them corresponds to the + # output of `gcloud` tool. + # + # Parameter | Source + # -------------------------|-------------------------------------------------------------------- + # P9K_GCLOUD_CONFIGURATION | gcloud config configurations list --format='value(name)' + # P9K_GCLOUD_ACCOUNT | gcloud config get-value account + # P9K_GCLOUD_PROJECT_ID | gcloud config get-value project + # P9K_GCLOUD_PROJECT_NAME | gcloud projects describe $P9K_GCLOUD_PROJECT_ID --format='value(name)' + # + # Note: ${VARIABLE//\%/%%} expands to ${VARIABLE} with all occurences of '%' replaced with '%%'. + # + # Obtaining project name requires sending a request to Google servers. This can take a long time + # and even fail. When project name is unknown, P9K_GCLOUD_PROJECT_NAME is not set and gcloud + # prompt segment is in state PARTIAL. When project name gets known, P9K_GCLOUD_PROJECT_NAME gets + # set and gcloud prompt segment transitions to state COMPLETE. + # + # You can customize the format, icon and colors of gcloud segment separately for states PARTIAL + # and COMPLETE. You can also hide gcloud in state PARTIAL by setting + # POWERLEVEL9K_GCLOUD_PARTIAL_VISUAL_IDENTIFIER_EXPANSION and + # POWERLEVEL9K_GCLOUD_PARTIAL_CONTENT_EXPANSION to empty. + typeset -g POWERLEVEL9K_GCLOUD_PARTIAL_CONTENT_EXPANSION='${P9K_GCLOUD_PROJECT_ID//\%/%%}' + typeset -g POWERLEVEL9K_GCLOUD_COMPLETE_CONTENT_EXPANSION='${P9K_GCLOUD_PROJECT_NAME//\%/%%}' + + # Send a request to Google (by means of `gcloud projects describe ...`) to obtain project name + # this often. Negative value disables periodic polling. In this mode project name is retrieved + # only when the current configuration, account or project id changes. + typeset -g POWERLEVEL9K_GCLOUD_REFRESH_PROJECT_NAME_SECONDS=60 + + # Custom icon. + # typeset -g POWERLEVEL9K_GCLOUD_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #[ google_app_cred: google application credentials (https://cloud.google.com/docs/authentication/production) ]# + # Show google_app_cred only when the the command you are typing invokes one of these tools. + # Tip: Remove the next line to always show google_app_cred. + typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_SHOW_ON_COMMAND='terraform|pulumi|terragrunt' + + # Google application credentials classes for the purpose of using different colors, icons and + # expansions with different credentials. + # + # POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES is an array with even number of elements. The first + # element in each pair defines a pattern against which the current kubernetes context gets + # matched. More specifically, it's P9K_CONTENT prior to the application of context expansion + # (see below) that gets matched. If you unset all POWERLEVEL9K_GOOGLE_APP_CRED_*CONTENT_EXPANSION + # parameters, you'll see this value in your prompt. The second element of each pair in + # POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES defines the context class. Patterns are tried in order. + # The first match wins. + # + # For example, given these settings: + # + # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES=( + # '*:*prod*:*' PROD + # '*:*test*:*' TEST + # '*' DEFAULT) + # + # If your current Google application credentials is "service_account deathray-testing x@y.com", + # its class is TEST because it doesn't match the pattern '* *prod* *' but does match '* *test* *'. + # + # You can define different colors, icons and content expansions for different classes: + # + # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_TEST_FOREGROUND=28 + # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_TEST_CONTENT_EXPANSION='$P9K_GOOGLE_APP_CRED_PROJECT_ID' + typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES=( + # '*:*prod*:*' PROD # These values are examples that are unlikely + # '*:*test*:*' TEST # to match your needs. Customize them as needed. + '*' DEFAULT) + # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_FOREGROUND=7 + # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_BACKGROUND=4 + # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐' + + # Use POWERLEVEL9K_GOOGLE_APP_CRED_CONTENT_EXPANSION to specify the content displayed by + # google_app_cred segment. Parameter expansions are very flexible and fast, too. See reference: + # http://zsh.sourceforge.net/Doc/Release/Expansion.html#Parameter-Expansion. + # + # You can use the following parameters in the expansion. Each of them corresponds to one of the + # fields in the JSON file pointed to by GOOGLE_APPLICATION_CREDENTIALS. + # + # Parameter | JSON key file field + # ---------------------------------+--------------- + # P9K_GOOGLE_APP_CRED_TYPE | type + # P9K_GOOGLE_APP_CRED_PROJECT_ID | project_id + # P9K_GOOGLE_APP_CRED_CLIENT_EMAIL | client_email + # + # Note: ${VARIABLE//\%/%%} expands to ${VARIABLE} with all occurences of '%' replaced by '%%'. + typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_CONTENT_EXPANSION='${P9K_GOOGLE_APP_CRED_PROJECT_ID//\%/%%}' + + ###############################[ public_ip: public IP address ]############################### + # Public IP color. + # typeset -g POWERLEVEL9K_PUBLIC_IP_FOREGROUND=7 + # typeset -g POWERLEVEL9K_PUBLIC_IP_BACKGROUND=0 + # Custom icon. + # typeset -g POWERLEVEL9K_PUBLIC_IP_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ########################[ vpn_ip: virtual private network indicator ]######################### + # VPN IP color. + # typeset -g POWERLEVEL9K_VPN_IP_FOREGROUND=0 + # typeset -g POWERLEVEL9K_VPN_IP_BACKGROUND=6 + # When on VPN, show just an icon without the IP address. + # Tip: To display the private IP address when on VPN, remove the next line. + typeset -g POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION= + # Regular expression for the VPN network interface. Run `ifconfig` or `ip -4 a show` while on VPN + # to see the name of the interface. + typeset -g POWERLEVEL9K_VPN_IP_INTERFACE='(gpd|wg|(.*tun))[0-9]*' + # If set to true, show one segment per matching network interface. If set to false, show only + # one segment corresponding to the first matching network interface. + # Tip: If you set it to true, you'll probably want to unset POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION. + typeset -g POWERLEVEL9K_VPN_IP_SHOW_ALL=false + # Custom icon. + # typeset -g POWERLEVEL9K_VPN_IP_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###########[ ip: ip address and bandwidth usage for a specified network interface ]########### + # IP color. + typeset -g POWERLEVEL9K_IP_BACKGROUND=4 + typeset -g POWERLEVEL9K_IP_FOREGROUND=0 + # The following parameters are accessible within the expansion: + # + # Parameter | Meaning + # ----------------------+--------------- + # P9K_IP_IP | IP address + # P9K_IP_INTERFACE | network interface + # P9K_IP_RX_BYTES | total number of bytes received + # P9K_IP_TX_BYTES | total number of bytes sent + # P9K_IP_RX_RATE | receive rate (since last prompt) + # P9K_IP_TX_RATE | send rate (since last prompt) + typeset -g POWERLEVEL9K_IP_CONTENT_EXPANSION='${P9K_IP_RX_RATE:+⇣$P9K_IP_RX_RATE }${P9K_IP_TX_RATE:+⇡$P9K_IP_TX_RATE }$P9K_IP_IP' + # Show information for the first network interface whose name matches this regular expression. + # Run `ifconfig` or `ip -4 a show` to see the names of all network interfaces. + typeset -g POWERLEVEL9K_IP_INTERFACE='e.*' + # Custom icon. + # typeset -g POWERLEVEL9K_IP_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #########################[ proxy: system-wide http/https/ftp proxy ]########################## + # Proxy color. + # typeset -g POWERLEVEL9K_PROXY_FOREGROUND=4 + # typeset -g POWERLEVEL9K_PROXY_BACKGROUND=0 + # Custom icon. + # typeset -g POWERLEVEL9K_PROXY_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ################################[ battery: internal battery ]################################# + # Show battery in red when it's below this level and not connected to power supply. + typeset -g POWERLEVEL9K_BATTERY_LOW_THRESHOLD=20 + typeset -g POWERLEVEL9K_BATTERY_LOW_FOREGROUND=1 + # Show battery in green when it's charging or fully charged. + typeset -g POWERLEVEL9K_BATTERY_{CHARGING,CHARGED}_FOREGROUND=2 + # Show battery in yellow when it's discharging. + typeset -g POWERLEVEL9K_BATTERY_DISCONNECTED_FOREGROUND=3 + # Battery pictograms going from low to high level of charge. + typeset -g POWERLEVEL9K_BATTERY_STAGES='\uf58d\uf579\uf57a\uf57b\uf57c\uf57d\uf57e\uf57f\uf580\uf581\uf578' + # Don't show the remaining time to charge/discharge. + typeset -g POWERLEVEL9K_BATTERY_VERBOSE=false + # typeset -g POWERLEVEL9K_BATTERY_BACKGROUND=0 + + #####################################[ wifi: wifi speed ]##################################### + # WiFi color. + # typeset -g POWERLEVEL9K_WIFI_FOREGROUND=0 + # typeset -g POWERLEVEL9K_WIFI_BACKGROUND=4 + # Custom icon. + # typeset -g POWERLEVEL9K_WIFI_VISUAL_IDENTIFIER_EXPANSION='⭐' + + # Use different colors and icons depending on signal strength ($P9K_WIFI_BARS). + # + # # Wifi colors and icons for different signal strength levels (low to high). + # typeset -g my_wifi_fg=(0 0 0 0 0) # <-- change these values + # typeset -g my_wifi_icon=('WiFi' 'WiFi' 'WiFi' 'WiFi' 'WiFi') # <-- change these values + # + # typeset -g POWERLEVEL9K_WIFI_CONTENT_EXPANSION='%F{${my_wifi_fg[P9K_WIFI_BARS+1]}}$P9K_WIFI_LAST_TX_RATE Mbps' + # typeset -g POWERLEVEL9K_WIFI_VISUAL_IDENTIFIER_EXPANSION='%F{${my_wifi_fg[P9K_WIFI_BARS+1]}}${my_wifi_icon[P9K_WIFI_BARS+1]}' + # + # The following parameters are accessible within the expansions: + # + # Parameter | Meaning + # ----------------------+--------------- + # P9K_WIFI_SSID | service set identifier, a.k.a. network name + # P9K_WIFI_LINK_AUTH | authentication protocol such as "wpa2-psk" or "none"; empty if unknown + # P9K_WIFI_LAST_TX_RATE | wireless transmit rate in megabits per second + # P9K_WIFI_RSSI | signal strength in dBm, from -120 to 0 + # P9K_WIFI_NOISE | noise in dBm, from -120 to 0 + # P9K_WIFI_BARS | signal strength in bars, from 0 to 4 (derived from P9K_WIFI_RSSI and P9K_WIFI_NOISE) + + ####################################[ time: current time ]#################################### + # Current time color. + # typeset -g POWERLEVEL9K_TIME_FOREGROUND=0 + # typeset -g POWERLEVEL9K_TIME_BACKGROUND=7 + # Format for the current time: 09:51:02. See `man 3 strftime`. + typeset -g POWERLEVEL9K_TIME_FORMAT='%D{%I:%M:%S %p}' + # If set to true, time will update when you hit enter. This way prompts for the past + # commands will contain the start times of their commands as opposed to the default + # behavior where they contain the end times of their preceding commands. + typeset -g POWERLEVEL9K_TIME_UPDATE_ON_COMMAND=false + # Custom icon. + typeset -g POWERLEVEL9K_TIME_VISUAL_IDENTIFIER_EXPANSION= + # Custom prefix. + # typeset -g POWERLEVEL9K_TIME_PREFIX='at ' + + # Example of a user-defined prompt segment. Function prompt_example will be called on every + # prompt if `example` prompt segment is added to POWERLEVEL9K_LEFT_PROMPT_ELEMENTS or + # POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS. It displays an icon and yellow text on red background + # greeting the user. + # + # Type `p10k help segment` for documentation and a more sophisticated example. + function prompt_example() { + p10k segment -b 1 -f 3 -i '⭐' -t 'hello, %n' + } + + # User-defined prompt segments may optionally provide an instant_prompt_* function. Its job + # is to generate the prompt segment for display in instant prompt. See + # https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt. + # + # Powerlevel10k will call instant_prompt_* at the same time as the regular prompt_* function + # and will record all `p10k segment` calls it makes. When displaying instant prompt, Powerlevel10k + # will replay these calls without actually calling instant_prompt_*. It is imperative that + # instant_prompt_* always makes the same `p10k segment` calls regardless of environment. If this + # rule is not observed, the content of instant prompt will be incorrect. + # + # Usually, you should either not define instant_prompt_* or simply call prompt_* from it. If + # instant_prompt_* is not defined for a segment, the segment won't be shown in instant prompt. + function instant_prompt_example() { + # Since prompt_example always makes the same `p10k segment` calls, we can call it from + # instant_prompt_example. This will give us the same `example` prompt segment in the instant + # and regular prompts. + prompt_example + } + + # User-defined prompt segments can be customized the same way as built-in segments. + # typeset -g POWERLEVEL9K_EXAMPLE_FOREGROUND=3 + # typeset -g POWERLEVEL9K_EXAMPLE_VISUAL_IDENTIFIER_EXPANSION='⭐' + + # Transient prompt works similarly to the builtin transient_rprompt option. It trims down prompt + # when accepting a command line. Supported values: + # + # - off: Don't change prompt when accepting a command line. + # - always: Trim down prompt when accepting a command line. + # - same-dir: Trim down prompt when accepting a command line unless this is the first command + # typed after changing current working directory. + typeset -g POWERLEVEL9K_TRANSIENT_PROMPT=always + + # Instant prompt mode. + # + # - off: Disable instant prompt. Choose this if you've tried instant prompt and found + # it incompatible with your zsh configuration files. + # - quiet: Enable instant prompt and don't print warnings when detecting console output + # during zsh initialization. Choose this if you've read and understood + # https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt. + # - verbose: Enable instant prompt and print a warning when detecting console output during + # zsh initialization. Choose this if you've never tried instant prompt, haven't + # seen the warning, or if you are unsure what this all means. + typeset -g POWERLEVEL9K_INSTANT_PROMPT=verbose + + # Hot reload allows you to change POWERLEVEL9K options after Powerlevel10k has been initialized. + # For example, you can type POWERLEVEL9K_BACKGROUND=red and see your prompt turn red. Hot reload + # can slow down prompt by 1-2 milliseconds, so it's better to keep it turned off unless you + # really need it. + typeset -g POWERLEVEL9K_DISABLE_HOT_RELOAD=true + + # If p10k is already loaded, reload configuration. + # This works even with POWERLEVEL9K_DISABLE_HOT_RELOAD=true. + (( ! $+functions[p10k] )) || p10k reload +} + +# Tell `p10k configure` which file it should overwrite. +typeset -g POWERLEVEL9K_CONFIG_FILE=${${(%):-%x}:a} + +(( ${#p10k_config_opts} )) && setopt ${p10k_config_opts[@]} +'builtin' 'unset' 'p10k_config_opts' From 74d3e244acde64b3f749497b87c50d2339fc1b0c Mon Sep 17 00:00:00 2001 From: Alex Blank Date: Mon, 19 Apr 2021 13:14:12 +0000 Subject: [PATCH 7/7] Delete .p10k.zsh --- .p10k.zsh | 1646 ----------------------------------------------------- 1 file changed, 1646 deletions(-) delete mode 100644 .p10k.zsh diff --git a/.p10k.zsh b/.p10k.zsh deleted file mode 100644 index def99e8..0000000 --- a/.p10k.zsh +++ /dev/null @@ -1,1646 +0,0 @@ -# Generated by Powerlevel10k configuration wizard on 2021-04-19 at 15:09 CEST. -# Based on romkatv/powerlevel10k/config/p10k-rainbow.zsh, checksum 47272. -# Wizard options: nerdfont-complete + powerline, small icons, rainbow, unicode, -# 12h time, angled separators, sharp heads, flat tails, 1 line, compact, few icons, -# concise, transient_prompt, instant_prompt=verbose. -# Type `p10k configure` to generate another config. -# -# Config for Powerlevel10k with powerline prompt style with colorful background. -# Type `p10k configure` to generate your own config based on it. -# -# Tip: Looking for a nice color? Here's a one-liner to print colormap. -# -# for i in {0..255}; do print -Pn "%K{$i} %k%F{$i}${(l:3::0:)i}%f " ${${(M)$((i%6)):#3}:+$'\n'}; done - -# Temporarily change options. -'builtin' 'local' '-a' 'p10k_config_opts' -[[ ! -o 'aliases' ]] || p10k_config_opts+=('aliases') -[[ ! -o 'sh_glob' ]] || p10k_config_opts+=('sh_glob') -[[ ! -o 'no_brace_expand' ]] || p10k_config_opts+=('no_brace_expand') -'builtin' 'setopt' 'no_aliases' 'no_sh_glob' 'brace_expand' - -() { - emulate -L zsh -o extended_glob - - # Unset all configuration options. This allows you to apply configuration changes without - # restarting zsh. Edit ~/.p10k.zsh and type `source ~/.p10k.zsh`. - unset -m '(POWERLEVEL9K_*|DEFAULT_USER)~POWERLEVEL9K_GITSTATUS_DIR' - - # Zsh >= 5.1 is required. - autoload -Uz is-at-least && is-at-least 5.1 || return - - # The list of segments shown on the left. Fill it with the most important segments. - typeset -g POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=( - # os_icon # os identifier - dir # current directory - vcs # git status - # prompt_char # prompt symbol - ) - - # The list of segments shown on the right. Fill it with less important segments. - # Right prompt on the last prompt line (where you are typing your commands) gets - # automatically hidden when the input line reaches it. Right prompt above the - # last prompt line gets hidden if it would overlap with left prompt. - typeset -g POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=( - status # exit code of the last command - command_execution_time # duration of the last command - background_jobs # presence of background jobs - direnv # direnv status (https://direnv.net/) - asdf # asdf version manager (https://github.com/asdf-vm/asdf) - virtualenv # python virtual environment (https://docs.python.org/3/library/venv.html) - anaconda # conda environment (https://conda.io/) - pyenv # python environment (https://github.com/pyenv/pyenv) - goenv # go environment (https://github.com/syndbg/goenv) - nodenv # node.js version from nodenv (https://github.com/nodenv/nodenv) - nvm # node.js version from nvm (https://github.com/nvm-sh/nvm) - nodeenv # node.js environment (https://github.com/ekalinin/nodeenv) - # node_version # node.js version - # go_version # go version (https://golang.org) - # rust_version # rustc version (https://www.rust-lang.org) - # dotnet_version # .NET version (https://dotnet.microsoft.com) - # php_version # php version (https://www.php.net/) - # laravel_version # laravel php framework version (https://laravel.com/) - # java_version # java version (https://www.java.com/) - # package # name@version from package.json (https://docs.npmjs.com/files/package.json) - rbenv # ruby version from rbenv (https://github.com/rbenv/rbenv) - rvm # ruby version from rvm (https://rvm.io) - fvm # flutter version management (https://github.com/leoafarias/fvm) - luaenv # lua version from luaenv (https://github.com/cehoffman/luaenv) - jenv # java version from jenv (https://github.com/jenv/jenv) - plenv # perl version from plenv (https://github.com/tokuhirom/plenv) - phpenv # php version from phpenv (https://github.com/phpenv/phpenv) - haskell_stack # haskell version from stack (https://haskellstack.org/) - kubecontext # current kubernetes context (https://kubernetes.io/) - terraform # terraform workspace (https://www.terraform.io) - aws # aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) - aws_eb_env # aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/) - azure # azure account name (https://docs.microsoft.com/en-us/cli/azure) - gcloud # google cloud cli account and project (https://cloud.google.com/) - google_app_cred # google application credentials (https://cloud.google.com/docs/authentication/production) - context # user@hostname - nordvpn # nordvpn connection status, linux only (https://nordvpn.com/) - ranger # ranger shell (https://github.com/ranger/ranger) - nnn # nnn shell (https://github.com/jarun/nnn) - vim_shell # vim shell indicator (:sh) - midnight_commander # midnight commander shell (https://midnight-commander.org/) - nix_shell # nix shell (https://nixos.org/nixos/nix-pills/developing-with-nix-shell.html) - vi_mode # vi mode (you don't need this if you've enabled prompt_char) - # vpn_ip # virtual private network indicator - # load # CPU load - # disk_usage # disk usage - # ram # free RAM - # swap # used swap - todo # todo items (https://github.com/todotxt/todo.txt-cli) - timewarrior # timewarrior tracking status (https://timewarrior.net/) - taskwarrior # taskwarrior task count (https://taskwarrior.org/) - time # current time - # ip # ip address and bandwidth usage for a specified network interface - # public_ip # public IP address - # proxy # system-wide http/https/ftp proxy - # battery # internal battery - # wifi # wifi speed - # example # example user-defined segment (see prompt_example function below) - ) - - # Defines character set used by powerlevel10k. It's best to let `p10k configure` set it for you. - typeset -g POWERLEVEL9K_MODE=nerdfont-complete - # When set to `moderate`, some icons will have an extra space after them. This is meant to avoid - # icon overlap when using non-monospace fonts. When set to `none`, spaces are not added. - typeset -g POWERLEVEL9K_ICON_PADDING=none - - # When set to true, icons appear before content on both sides of the prompt. When set - # to false, icons go after content. If empty or not set, icons go before content in the left - # prompt and after content in the right prompt. - # - # You can also override it for a specific segment: - # - # POWERLEVEL9K_STATUS_ICON_BEFORE_CONTENT=false - # - # Or for a specific segment in specific state: - # - # POWERLEVEL9K_DIR_NOT_WRITABLE_ICON_BEFORE_CONTENT=false - typeset -g POWERLEVEL9K_ICON_BEFORE_CONTENT= - - # Add an empty line before each prompt. - typeset -g POWERLEVEL9K_PROMPT_ADD_NEWLINE=false - - # Connect left prompt lines with these symbols. You'll probably want to use the same color - # as POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_FOREGROUND below. - typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX='%242F╭─' - typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_PREFIX='%242F├─' - typeset -g POWERLEVEL9K_MULTILINE_LAST_PROMPT_PREFIX='%242F╰─' - # Connect right prompt lines with these symbols. - typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_SUFFIX='%242F─╮' - typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_SUFFIX='%242F─┤' - typeset -g POWERLEVEL9K_MULTILINE_LAST_PROMPT_SUFFIX='%242F─╯' - - # Filler between left and right prompt on the first prompt line. You can set it to ' ', '·' or - # '─'. The last two make it easier to see the alignment between left and right prompt and to - # separate prompt from command output. You might want to set POWERLEVEL9K_PROMPT_ADD_NEWLINE=false - # for more compact prompt if using using this option. - typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR=' ' - typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_BACKGROUND= - typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_GAP_BACKGROUND= - if [[ $POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR != ' ' ]]; then - # The color of the filler. You'll probably want to match the color of POWERLEVEL9K_MULTILINE - # ornaments defined above. - typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_FOREGROUND=242 - # Start filler from the edge of the screen if there are no left segments on the first line. - typeset -g POWERLEVEL9K_EMPTY_LINE_LEFT_PROMPT_FIRST_SEGMENT_END_SYMBOL='%{%}' - # End filler on the edge of the screen if there are no right segments on the first line. - typeset -g POWERLEVEL9K_EMPTY_LINE_RIGHT_PROMPT_FIRST_SEGMENT_START_SYMBOL='%{%}' - fi - - # Separator between same-color segments on the left. - typeset -g POWERLEVEL9K_LEFT_SUBSEGMENT_SEPARATOR='\uE0B1' - # Separator between same-color segments on the right. - typeset -g POWERLEVEL9K_RIGHT_SUBSEGMENT_SEPARATOR='\uE0B3' - # Separator between different-color segments on the left. - typeset -g POWERLEVEL9K_LEFT_SEGMENT_SEPARATOR='\uE0B0' - # Separator between different-color segments on the right. - typeset -g POWERLEVEL9K_RIGHT_SEGMENT_SEPARATOR='\uE0B2' - # The right end of left prompt. - typeset -g POWERLEVEL9K_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL='\uE0B0' - # The left end of right prompt. - typeset -g POWERLEVEL9K_RIGHT_PROMPT_FIRST_SEGMENT_START_SYMBOL='\uE0B2' - # The left end of left prompt. - typeset -g POWERLEVEL9K_LEFT_PROMPT_FIRST_SEGMENT_START_SYMBOL='' - # The right end of right prompt. - typeset -g POWERLEVEL9K_RIGHT_PROMPT_LAST_SEGMENT_END_SYMBOL='' - # Left prompt terminator for lines without any segments. - typeset -g POWERLEVEL9K_EMPTY_LINE_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL= - - #################################[ os_icon: os identifier ]################################## - # OS identifier color. - typeset -g POWERLEVEL9K_OS_ICON_FOREGROUND=232 - typeset -g POWERLEVEL9K_OS_ICON_BACKGROUND=7 - # Custom icon. - # typeset -g POWERLEVEL9K_OS_ICON_CONTENT_EXPANSION='⭐' - - ################################[ prompt_char: prompt symbol ]################################ - # Transparent background. - typeset -g POWERLEVEL9K_PROMPT_CHAR_BACKGROUND= - # Green prompt symbol if the last command succeeded. - typeset -g POWERLEVEL9K_PROMPT_CHAR_OK_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=76 - # Red prompt symbol if the last command failed. - typeset -g POWERLEVEL9K_PROMPT_CHAR_ERROR_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=196 - # Default prompt symbol. - typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIINS_CONTENT_EXPANSION='❯' - # Prompt symbol in command vi mode. - typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VICMD_CONTENT_EXPANSION='❮' - # Prompt symbol in visual vi mode. - typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIVIS_CONTENT_EXPANSION='V' - # Prompt symbol in overwrite vi mode. - typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIOWR_CONTENT_EXPANSION='▶' - typeset -g POWERLEVEL9K_PROMPT_CHAR_OVERWRITE_STATE=true - # No line terminator if prompt_char is the last segment. - typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL= - # No line introducer if prompt_char is the first segment. - typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_PROMPT_FIRST_SEGMENT_START_SYMBOL= - # No surrounding whitespace. - typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_{LEFT,RIGHT}_WHITESPACE= - - ##################################[ dir: current directory ]################################## - # Current directory background color. - typeset -g POWERLEVEL9K_DIR_BACKGROUND=4 - # Default current directory foreground color. - typeset -g POWERLEVEL9K_DIR_FOREGROUND=254 - # If directory is too long, shorten some of its segments to the shortest possible unique - # prefix. The shortened directory can be tab-completed to the original. - typeset -g POWERLEVEL9K_SHORTEN_STRATEGY=truncate_to_unique - # Replace removed segment suffixes with this symbol. - typeset -g POWERLEVEL9K_SHORTEN_DELIMITER= - # Color of the shortened directory segments. - typeset -g POWERLEVEL9K_DIR_SHORTENED_FOREGROUND=250 - # Color of the anchor directory segments. Anchor segments are never shortened. The first - # segment is always an anchor. - typeset -g POWERLEVEL9K_DIR_ANCHOR_FOREGROUND=255 - # Display anchor directory segments in bold. - typeset -g POWERLEVEL9K_DIR_ANCHOR_BOLD=true - # Don't shorten directories that contain any of these files. They are anchors. - local anchor_files=( - .bzr - .citc - .git - .hg - .node-version - .python-version - .go-version - .ruby-version - .lua-version - .java-version - .perl-version - .php-version - .tool-version - .shorten_folder_marker - .svn - .terraform - CVS - Cargo.toml - composer.json - go.mod - package.json - stack.yaml - ) - typeset -g POWERLEVEL9K_SHORTEN_FOLDER_MARKER="(${(j:|:)anchor_files})" - # If set to "first" ("last"), remove everything before the first (last) subdirectory that contains - # files matching $POWERLEVEL9K_SHORTEN_FOLDER_MARKER. For example, when the current directory is - # /foo/bar/git_repo/nested_git_repo/baz, prompt will display git_repo/nested_git_repo/baz (first) - # or nested_git_repo/baz (last). This assumes that git_repo and nested_git_repo contain markers - # and other directories don't. - # - # Optionally, "first" and "last" can be followed by ":" where is an integer. - # This moves the truncation point to the right (positive offset) or to the left (negative offset) - # relative to the marker. Plain "first" and "last" are equivalent to "first:0" and "last:0" - # respectively. - typeset -g POWERLEVEL9K_DIR_TRUNCATE_BEFORE_MARKER=false - # Don't shorten this many last directory segments. They are anchors. - typeset -g POWERLEVEL9K_SHORTEN_DIR_LENGTH=1 - # Shorten directory if it's longer than this even if there is space for it. The value can - # be either absolute (e.g., '80') or a percentage of terminal width (e.g, '50%'). If empty, - # directory will be shortened only when prompt doesn't fit or when other parameters demand it - # (see POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS and POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS_PCT below). - # If set to `0`, directory will always be shortened to its minimum length. - typeset -g POWERLEVEL9K_DIR_MAX_LENGTH=80 - # When `dir` segment is on the last prompt line, try to shorten it enough to leave at least this - # many columns for typing commands. - typeset -g POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS=40 - # When `dir` segment is on the last prompt line, try to shorten it enough to leave at least - # COLUMNS * POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS_PCT * 0.01 columns for typing commands. - typeset -g POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS_PCT=50 - # If set to true, embed a hyperlink into the directory. Useful for quickly - # opening a directory in the file manager simply by clicking the link. - # Can also be handy when the directory is shortened, as it allows you to see - # the full directory that was used in previous commands. - typeset -g POWERLEVEL9K_DIR_HYPERLINK=false - - # Enable special styling for non-writable directories. See POWERLEVEL9K_LOCK_ICON and - # POWERLEVEL9K_DIR_CLASSES below. - typeset -g POWERLEVEL9K_DIR_SHOW_WRITABLE=v2 - - # The default icon shown next to non-writable directories when POWERLEVEL9K_DIR_SHOW_WRITABLE is - # set to v2. - # typeset -g POWERLEVEL9K_LOCK_ICON='⭐' - - # POWERLEVEL9K_DIR_CLASSES allows you to specify custom icons and colors for different - # directories. It must be an array with 3 * N elements. Each triplet consists of: - # - # 1. A pattern against which the current directory ($PWD) is matched. Matching is done with - # extended_glob option enabled. - # 2. Directory class for the purpose of styling. - # 3. An empty string. - # - # Triplets are tried in order. The first triplet whose pattern matches $PWD wins. - # - # If POWERLEVEL9K_DIR_SHOW_WRITABLE is set to v2 and the current directory is not writable, - # its class gets suffix _NOT_WRITABLE. - # - # For example, given these settings: - # - # typeset -g POWERLEVEL9K_DIR_CLASSES=( - # '~/work(|/*)' WORK '' - # '~(|/*)' HOME '' - # '*' DEFAULT '') - # - # Whenever the current directory is ~/work or a subdirectory of ~/work, it gets styled with class - # WORK or WORK_NOT_WRITABLE. - # - # Simply assigning classes to directories don't have any visible effects. It merely gives you an - # option to define custom colors and icons for different directory classes. - # - # # Styling for WORK. - # typeset -g POWERLEVEL9K_DIR_WORK_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_DIR_WORK_BACKGROUND=4 - # typeset -g POWERLEVEL9K_DIR_WORK_FOREGROUND=254 - # typeset -g POWERLEVEL9K_DIR_WORK_SHORTENED_FOREGROUND=250 - # typeset -g POWERLEVEL9K_DIR_WORK_ANCHOR_FOREGROUND=255 - # - # # Styling for WORK_NOT_WRITABLE. - # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_BACKGROUND=4 - # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_FOREGROUND=254 - # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_SHORTENED_FOREGROUND=250 - # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_ANCHOR_FOREGROUND=255 - # - # If a styling parameter isn't explicitly defined for some class, it falls back to the classless - # parameter. For example, if POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_FOREGROUND is not set, it falls - # back to POWERLEVEL9K_DIR_FOREGROUND. - # - typeset -g POWERLEVEL9K_DIR_CLASSES=() - - # Custom prefix. - # typeset -g POWERLEVEL9K_DIR_PREFIX='in ' - - #####################################[ vcs: git status ]###################################### - # Version control system colors. - # typeset -g POWERLEVEL9K_VCS_CLEAN_BACKGROUND=2 - # typeset -g POWERLEVEL9K_VCS_MODIFIED_BACKGROUND=3 - # typeset -g POWERLEVEL9K_VCS_UNTRACKED_BACKGROUND=2 - # typeset -g POWERLEVEL9K_VCS_CONFLICTED_BACKGROUND=3 - # typeset -g POWERLEVEL9K_VCS_LOADING_BACKGROUND=8 - - # Branch icon. Set this parameter to '\uF126 ' for the popular Powerline branch icon. - typeset -g POWERLEVEL9K_VCS_BRANCH_ICON= - - # Untracked files icon. It's really a question mark, your font isn't broken. - # Change the value of this parameter to show a different icon. - typeset -g POWERLEVEL9K_VCS_UNTRACKED_ICON='?' - - # Formatter for Git status. - # - # Example output: master ⇣42⇡42 *42 merge ~42 +42 !42 ?42. - # - # You can edit the function to customize how Git status looks. - # - # VCS_STATUS_* parameters are set by gitstatus plugin. See reference: - # https://github.com/romkatv/gitstatus/blob/master/gitstatus.plugin.zsh. - function my_git_formatter() { - emulate -L zsh - - if [[ -n $P9K_CONTENT ]]; then - # If P9K_CONTENT is not empty, use it. It's either "loading" or from vcs_info (not from - # gitstatus plugin). VCS_STATUS_* parameters are not available in this case. - typeset -g my_git_format=$P9K_CONTENT - return - fi - - # Styling for different parts of Git status. - local meta='%7F' # white foreground - local clean='%0F' # black foreground - local modified='%0F' # black foreground - local untracked='%0F' # black foreground - local conflicted='%1F' # red foreground - - local res - local where # branch or tag - if [[ -n $VCS_STATUS_LOCAL_BRANCH ]]; then - res+="${clean}${(g::)POWERLEVEL9K_VCS_BRANCH_ICON}" - where=${(V)VCS_STATUS_LOCAL_BRANCH} - elif [[ -n $VCS_STATUS_TAG ]]; then - res+="${meta}#" - where=${(V)VCS_STATUS_TAG} - fi - - # If local branch name or tag is at most 32 characters long, show it in full. - # Otherwise show the first 12 … the last 12. - # Tip: To always show local branch name in full without truncation, delete the next line. - (( $#where > 32 )) && where[13,-13]="…" - - res+="${clean}${where//\%/%%}" # escape % - - # Display the current Git commit if there is no branch or tag. - # Tip: To always display the current Git commit, remove `[[ -z $where ]] &&` from the next line. - [[ -z $where ]] && res+="${meta}@${clean}${VCS_STATUS_COMMIT[1,8]}" - - # Show tracking branch name if it differs from local branch. - if [[ -n ${VCS_STATUS_REMOTE_BRANCH:#$VCS_STATUS_LOCAL_BRANCH} ]]; then - res+="${meta}:${clean}${(V)VCS_STATUS_REMOTE_BRANCH//\%/%%}" # escape % - fi - - # ⇣42 if behind the remote. - (( VCS_STATUS_COMMITS_BEHIND )) && res+=" ${clean}⇣${VCS_STATUS_COMMITS_BEHIND}" - # ⇡42 if ahead of the remote; no leading space if also behind the remote: ⇣42⇡42. - (( VCS_STATUS_COMMITS_AHEAD && !VCS_STATUS_COMMITS_BEHIND )) && res+=" " - (( VCS_STATUS_COMMITS_AHEAD )) && res+="${clean}⇡${VCS_STATUS_COMMITS_AHEAD}" - # ⇠42 if behind the push remote. - (( VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" ${clean}⇠${VCS_STATUS_PUSH_COMMITS_BEHIND}" - (( VCS_STATUS_PUSH_COMMITS_AHEAD && !VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" " - # ⇢42 if ahead of the push remote; no leading space if also behind: ⇠42⇢42. - (( VCS_STATUS_PUSH_COMMITS_AHEAD )) && res+="${clean}⇢${VCS_STATUS_PUSH_COMMITS_AHEAD}" - # *42 if have stashes. - (( VCS_STATUS_STASHES )) && res+=" ${clean}*${VCS_STATUS_STASHES}" - # 'merge' if the repo is in an unusual state. - [[ -n $VCS_STATUS_ACTION ]] && res+=" ${conflicted}${VCS_STATUS_ACTION}" - # ~42 if have merge conflicts. - (( VCS_STATUS_NUM_CONFLICTED )) && res+=" ${conflicted}~${VCS_STATUS_NUM_CONFLICTED}" - # +42 if have staged changes. - (( VCS_STATUS_NUM_STAGED )) && res+=" ${modified}+${VCS_STATUS_NUM_STAGED}" - # !42 if have unstaged changes. - (( VCS_STATUS_NUM_UNSTAGED )) && res+=" ${modified}!${VCS_STATUS_NUM_UNSTAGED}" - # ?42 if have untracked files. It's really a question mark, your font isn't broken. - # See POWERLEVEL9K_VCS_UNTRACKED_ICON above if you want to use a different icon. - # Remove the next line if you don't want to see untracked files at all. - (( VCS_STATUS_NUM_UNTRACKED )) && res+=" ${untracked}${(g::)POWERLEVEL9K_VCS_UNTRACKED_ICON}${VCS_STATUS_NUM_UNTRACKED}" - # "─" if the number of unstaged files is unknown. This can happen due to - # POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY (see below) being set to a non-negative number lower - # than the number of files in the Git index, or due to bash.showDirtyState being set to false - # in the repository config. The number of staged and untracked files may also be unknown - # in this case. - (( VCS_STATUS_HAS_UNSTAGED == -1 )) && res+=" ${modified}─" - - typeset -g my_git_format=$res - } - functions -M my_git_formatter 2>/dev/null - - # Don't count the number of unstaged, untracked and conflicted files in Git repositories with - # more than this many files in the index. Negative value means infinity. - # - # If you are working in Git repositories with tens of millions of files and seeing performance - # sagging, try setting POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY to a number lower than the output - # of `git ls-files | wc -l`. Alternatively, add `bash.showDirtyState = false` to the repository's - # config: `git config bash.showDirtyState false`. - typeset -g POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY=-1 - - # Don't show Git status in prompt for repositories whose workdir matches this pattern. - # For example, if set to '~', the Git repository at $HOME/.git will be ignored. - # Multiple patterns can be combined with '|': '~(|/foo)|/bar/baz/*'. - typeset -g POWERLEVEL9K_VCS_DISABLED_WORKDIR_PATTERN='~' - - # Disable the default Git status formatting. - typeset -g POWERLEVEL9K_VCS_DISABLE_GITSTATUS_FORMATTING=true - # Install our own Git status formatter. - typeset -g POWERLEVEL9K_VCS_CONTENT_EXPANSION='${$((my_git_formatter()))+${my_git_format}}' - # Enable counters for staged, unstaged, etc. - typeset -g POWERLEVEL9K_VCS_{STAGED,UNSTAGED,UNTRACKED,CONFLICTED,COMMITS_AHEAD,COMMITS_BEHIND}_MAX_NUM=-1 - - # Custom icon. - typeset -g POWERLEVEL9K_VCS_VISUAL_IDENTIFIER_EXPANSION= - # Custom prefix. - # typeset -g POWERLEVEL9K_VCS_PREFIX='on ' - - # Show status of repositories of these types. You can add svn and/or hg if you are - # using them. If you do, your prompt may become slow even when your current directory - # isn't in an svn or hg reposotiry. - typeset -g POWERLEVEL9K_VCS_BACKENDS=(git) - - ##########################[ status: exit code of the last command ]########################### - # Enable OK_PIPE, ERROR_PIPE and ERROR_SIGNAL status states to allow us to enable, disable and - # style them independently from the regular OK and ERROR state. - typeset -g POWERLEVEL9K_STATUS_EXTENDED_STATES=true - - # Status on success. No content, just an icon. No need to show it if prompt_char is enabled as - # it will signify success by turning green. - typeset -g POWERLEVEL9K_STATUS_OK=true - typeset -g POWERLEVEL9K_STATUS_OK_VISUAL_IDENTIFIER_EXPANSION='✔' - # typeset -g POWERLEVEL9K_STATUS_OK_FOREGROUND=2 - # typeset -g POWERLEVEL9K_STATUS_OK_BACKGROUND=0 - - # Status when some part of a pipe command fails but the overall exit status is zero. It may look - # like this: 1|0. - typeset -g POWERLEVEL9K_STATUS_OK_PIPE=true - typeset -g POWERLEVEL9K_STATUS_OK_PIPE_VISUAL_IDENTIFIER_EXPANSION='✔' - # typeset -g POWERLEVEL9K_STATUS_OK_PIPE_FOREGROUND=2 - # typeset -g POWERLEVEL9K_STATUS_OK_PIPE_BACKGROUND=0 - - # Status when it's just an error code (e.g., '1'). No need to show it if prompt_char is enabled as - # it will signify error by turning red. - typeset -g POWERLEVEL9K_STATUS_ERROR=true - typeset -g POWERLEVEL9K_STATUS_ERROR_VISUAL_IDENTIFIER_EXPANSION='✘' - # typeset -g POWERLEVEL9K_STATUS_ERROR_FOREGROUND=3 - # typeset -g POWERLEVEL9K_STATUS_ERROR_BACKGROUND=1 - - # Status when the last command was terminated by a signal. - typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL=true - # Use terse signal names: "INT" instead of "SIGINT(2)". - typeset -g POWERLEVEL9K_STATUS_VERBOSE_SIGNAME=false - typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL_VISUAL_IDENTIFIER_EXPANSION='✘' - # typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL_FOREGROUND=3 - # typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL_BACKGROUND=1 - - # Status when some part of a pipe command fails and the overall exit status is also non-zero. - # It may look like this: 1|0. - typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE=true - typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_VISUAL_IDENTIFIER_EXPANSION='✘' - # typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_FOREGROUND=3 - # typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_BACKGROUND=1 - - ###################[ command_execution_time: duration of the last command ]################### - # Execution time color. - typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FOREGROUND=0 - typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_BACKGROUND=3 - # Show duration of the last command if takes at least this many seconds. - typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_THRESHOLD=3 - # Show this many fractional digits. Zero means round to seconds. - typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PRECISION=0 - # Duration format: 1d 2h 3m 4s. - typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FORMAT='d h m s' - # Custom icon. - typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_VISUAL_IDENTIFIER_EXPANSION= - # Custom prefix. - # typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PREFIX='took ' - - #######################[ background_jobs: presence of background jobs ]####################### - # Background jobs color. - # typeset -g POWERLEVEL9K_BACKGROUND_JOBS_FOREGROUND=6 - # typeset -g POWERLEVEL9K_BACKGROUND_JOBS_BACKGROUND=0 - # Don't show the number of background jobs. - typeset -g POWERLEVEL9K_BACKGROUND_JOBS_VERBOSE=false - # Custom icon. - # typeset -g POWERLEVEL9K_BACKGROUND_JOBS_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #######################[ direnv: direnv status (https://direnv.net/) ]######################## - # Direnv color. - # typeset -g POWERLEVEL9K_DIRENV_FOREGROUND=3 - # typeset -g POWERLEVEL9K_DIRENV_BACKGROUND=0 - # Custom icon. - # typeset -g POWERLEVEL9K_DIRENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###############[ asdf: asdf version manager (https://github.com/asdf-vm/asdf) ]############### - # Default asdf color. Only used to display tools for which there is no color override (see below). - # Tip: Override these parameters for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_FOREGROUND and - # POWERLEVEL9K_ASDF_${TOOL}_BACKGROUND. - typeset -g POWERLEVEL9K_ASDF_FOREGROUND=0 - typeset -g POWERLEVEL9K_ASDF_BACKGROUND=7 - - # There are four parameters that can be used to hide asdf tools. Each parameter describes - # conditions under which a tool gets hidden. Parameters can hide tools but not unhide them. If at - # least one parameter decides to hide a tool, that tool gets hidden. If no parameter decides to - # hide a tool, it gets shown. - # - # Special note on the difference between POWERLEVEL9K_ASDF_SOURCES and - # POWERLEVEL9K_ASDF_PROMPT_ALWAYS_SHOW. Consider the effect of the following commands: - # - # asdf local python 3.8.1 - # asdf global python 3.8.1 - # - # After running both commands the current python version is 3.8.1 and its source is "local" as - # it takes precedence over "global". If POWERLEVEL9K_ASDF_PROMPT_ALWAYS_SHOW is set to false, - # it'll hide python version in this case because 3.8.1 is the same as the global version. - # POWERLEVEL9K_ASDF_SOURCES will hide python version only if the value of this parameter doesn't - # contain "local". - - # Hide tool versions that don't come from one of these sources. - # - # Available sources: - # - # - shell `asdf current` says "set by ASDF_${TOOL}_VERSION environment variable" - # - local `asdf current` says "set by /some/not/home/directory/file" - # - global `asdf current` says "set by /home/username/file" - # - # Note: If this parameter is set to (shell local global), it won't hide tools. - # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_SOURCES. - typeset -g POWERLEVEL9K_ASDF_SOURCES=(shell local global) - - # If set to false, hide tool versions that are the same as global. - # - # Note: The name of this parameter doesn't reflect its meaning at all. - # Note: If this parameter is set to true, it won't hide tools. - # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_PROMPT_ALWAYS_SHOW. - typeset -g POWERLEVEL9K_ASDF_PROMPT_ALWAYS_SHOW=false - - # If set to false, hide tool versions that are equal to "system". - # - # Note: If this parameter is set to true, it won't hide tools. - # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_SHOW_SYSTEM. - typeset -g POWERLEVEL9K_ASDF_SHOW_SYSTEM=true - - # If set to non-empty value, hide tools unless there is a file matching the specified file pattern - # in the current directory, or its parent diretory, or its grandparent directory, and so on. - # - # Note: If this parameter is set to empty value, it won't hide tools. - # Note: SHOW_ON_UPGLOB isn't specific to asdf. It works with all prompt segments. - # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_SHOW_ON_UPGLOB. - # - # Example: Hide nodejs version when there is no package.json and no *.js files in the current - # directory, in `..`, in `../..` and so on. - # - # typeset -g POWERLEVEL9K_ASDF_NODEJS_SHOW_ON_UPGLOB='*.js|package.json' - typeset -g POWERLEVEL9K_ASDF_SHOW_ON_UPGLOB= - - # Ruby version from asdf. - typeset -g POWERLEVEL9K_ASDF_RUBY_FOREGROUND=0 - typeset -g POWERLEVEL9K_ASDF_RUBY_BACKGROUND=1 - # typeset -g POWERLEVEL9K_ASDF_RUBY_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_RUBY_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Python version from asdf. - typeset -g POWERLEVEL9K_ASDF_PYTHON_FOREGROUND=0 - typeset -g POWERLEVEL9K_ASDF_PYTHON_BACKGROUND=4 - # typeset -g POWERLEVEL9K_ASDF_PYTHON_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_PYTHON_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Go version from asdf. - typeset -g POWERLEVEL9K_ASDF_GOLANG_FOREGROUND=0 - typeset -g POWERLEVEL9K_ASDF_GOLANG_BACKGROUND=4 - # typeset -g POWERLEVEL9K_ASDF_GOLANG_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_GOLANG_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Node.js version from asdf. - typeset -g POWERLEVEL9K_ASDF_NODEJS_FOREGROUND=0 - typeset -g POWERLEVEL9K_ASDF_NODEJS_BACKGROUND=2 - # typeset -g POWERLEVEL9K_ASDF_NODEJS_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_NODEJS_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Rust version from asdf. - typeset -g POWERLEVEL9K_ASDF_RUST_FOREGROUND=0 - typeset -g POWERLEVEL9K_ASDF_RUST_BACKGROUND=208 - # typeset -g POWERLEVEL9K_ASDF_RUST_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_RUST_SHOW_ON_UPGLOB='*.foo|*.bar' - - # .NET Core version from asdf. - typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_FOREGROUND=0 - typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_BACKGROUND=5 - # typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Flutter version from asdf. - typeset -g POWERLEVEL9K_ASDF_FLUTTER_FOREGROUND=0 - typeset -g POWERLEVEL9K_ASDF_FLUTTER_BACKGROUND=4 - # typeset -g POWERLEVEL9K_ASDF_FLUTTER_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_FLUTTER_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Lua version from asdf. - typeset -g POWERLEVEL9K_ASDF_LUA_FOREGROUND=0 - typeset -g POWERLEVEL9K_ASDF_LUA_BACKGROUND=4 - # typeset -g POWERLEVEL9K_ASDF_LUA_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_LUA_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Java version from asdf. - typeset -g POWERLEVEL9K_ASDF_JAVA_FOREGROUND=1 - typeset -g POWERLEVEL9K_ASDF_JAVA_BACKGROUND=7 - # typeset -g POWERLEVEL9K_ASDF_JAVA_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_JAVA_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Perl version from asdf. - typeset -g POWERLEVEL9K_ASDF_PERL_FOREGROUND=0 - typeset -g POWERLEVEL9K_ASDF_PERL_BACKGROUND=4 - # typeset -g POWERLEVEL9K_ASDF_PERL_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_PERL_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Erlang version from asdf. - typeset -g POWERLEVEL9K_ASDF_ERLANG_FOREGROUND=0 - typeset -g POWERLEVEL9K_ASDF_ERLANG_BACKGROUND=1 - # typeset -g POWERLEVEL9K_ASDF_ERLANG_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_ERLANG_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Elixir version from asdf. - typeset -g POWERLEVEL9K_ASDF_ELIXIR_FOREGROUND=0 - typeset -g POWERLEVEL9K_ASDF_ELIXIR_BACKGROUND=5 - # typeset -g POWERLEVEL9K_ASDF_ELIXIR_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_ELIXIR_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Postgres version from asdf. - typeset -g POWERLEVEL9K_ASDF_POSTGRES_FOREGROUND=0 - typeset -g POWERLEVEL9K_ASDF_POSTGRES_BACKGROUND=6 - # typeset -g POWERLEVEL9K_ASDF_POSTGRES_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_POSTGRES_SHOW_ON_UPGLOB='*.foo|*.bar' - - # PHP version from asdf. - typeset -g POWERLEVEL9K_ASDF_PHP_FOREGROUND=0 - typeset -g POWERLEVEL9K_ASDF_PHP_BACKGROUND=5 - # typeset -g POWERLEVEL9K_ASDF_PHP_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_PHP_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Haskell version from asdf. - typeset -g POWERLEVEL9K_ASDF_HASKELL_FOREGROUND=0 - typeset -g POWERLEVEL9K_ASDF_HASKELL_BACKGROUND=3 - # typeset -g POWERLEVEL9K_ASDF_HASKELL_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_HASKELL_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Julia version from asdf. - typeset -g POWERLEVEL9K_ASDF_JULIA_FOREGROUND=0 - typeset -g POWERLEVEL9K_ASDF_JULIA_BACKGROUND=2 - # typeset -g POWERLEVEL9K_ASDF_JULIA_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_JULIA_SHOW_ON_UPGLOB='*.foo|*.bar' - - ##########[ nordvpn: nordvpn connection status, linux only (https://nordvpn.com/) ]########### - # NordVPN connection indicator color. - # typeset -g POWERLEVEL9K_NORDVPN_FOREGROUND=7 - # typeset -g POWERLEVEL9K_NORDVPN_BACKGROUND=4 - # Hide NordVPN connection indicator when not connected. - typeset -g POWERLEVEL9K_NORDVPN_{DISCONNECTED,CONNECTING,DISCONNECTING}_CONTENT_EXPANSION= - typeset -g POWERLEVEL9K_NORDVPN_{DISCONNECTED,CONNECTING,DISCONNECTING}_VISUAL_IDENTIFIER_EXPANSION= - # Custom icon. - # typeset -g POWERLEVEL9K_NORDVPN_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #################[ ranger: ranger shell (https://github.com/ranger/ranger) ]################## - # Ranger shell color. - # typeset -g POWERLEVEL9K_RANGER_FOREGROUND=3 - # typeset -g POWERLEVEL9K_RANGER_BACKGROUND=0 - # Custom icon. - # typeset -g POWERLEVEL9K_RANGER_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ######################[ nnn: nnn shell (https://github.com/jarun/nnn) ]####################### - # Nnn shell color. - # typeset -g POWERLEVEL9K_NNN_FOREGROUND=0 - # typeset -g POWERLEVEL9K_NNN_BACKGROUND=6 - # Custom icon. - # typeset -g POWERLEVEL9K_NNN_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###########################[ vim_shell: vim shell indicator (:sh) ]########################### - # Vim shell indicator color. - # typeset -g POWERLEVEL9K_VIM_SHELL_FOREGROUND=0 - # typeset -g POWERLEVEL9K_VIM_SHELL_BACKGROUND=2 - # Custom icon. - # typeset -g POWERLEVEL9K_VIM_SHELL_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ######[ midnight_commander: midnight commander shell (https://midnight-commander.org/) ]###### - # Midnight Commander shell color. - # typeset -g POWERLEVEL9K_MIDNIGHT_COMMANDER_FOREGROUND=3 - # typeset -g POWERLEVEL9K_MIDNIGHT_COMMANDER_BACKGROUND=0 - # Custom icon. - # typeset -g POWERLEVEL9K_MIDNIGHT_COMMANDER_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #[ nix_shell: nix shell (https://nixos.org/nixos/nix-pills/developing-with-nix-shell.html) ]## - # Nix shell color. - # typeset -g POWERLEVEL9K_NIX_SHELL_FOREGROUND=0 - # typeset -g POWERLEVEL9K_NIX_SHELL_BACKGROUND=4 - - # Tip: If you want to see just the icon without "pure" and "impure", uncomment the next line. - # typeset -g POWERLEVEL9K_NIX_SHELL_CONTENT_EXPANSION= - - # Custom icon. - # typeset -g POWERLEVEL9K_NIX_SHELL_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##################################[ disk_usage: disk usage ]################################## - # Colors for different levels of disk usage. - # typeset -g POWERLEVEL9K_DISK_USAGE_NORMAL_FOREGROUND=3 - # typeset -g POWERLEVEL9K_DISK_USAGE_NORMAL_BACKGROUND=0 - # typeset -g POWERLEVEL9K_DISK_USAGE_WARNING_FOREGROUND=0 - # typeset -g POWERLEVEL9K_DISK_USAGE_WARNING_BACKGROUND=3 - # typeset -g POWERLEVEL9K_DISK_USAGE_CRITICAL_FOREGROUND=7 - # typeset -g POWERLEVEL9K_DISK_USAGE_CRITICAL_BACKGROUND=1 - # Thresholds for different levels of disk usage (percentage points). - typeset -g POWERLEVEL9K_DISK_USAGE_WARNING_LEVEL=90 - typeset -g POWERLEVEL9K_DISK_USAGE_CRITICAL_LEVEL=95 - # If set to true, hide disk usage when below $POWERLEVEL9K_DISK_USAGE_WARNING_LEVEL percent. - typeset -g POWERLEVEL9K_DISK_USAGE_ONLY_WARNING=false - # Custom icon. - # typeset -g POWERLEVEL9K_DISK_USAGE_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###########[ vi_mode: vi mode (you don't need this if you've enabled prompt_char) ]########### - # Foreground color. - typeset -g POWERLEVEL9K_VI_MODE_FOREGROUND=0 - # Text and color for normal (a.k.a. command) vi mode. - typeset -g POWERLEVEL9K_VI_COMMAND_MODE_STRING=NORMAL - typeset -g POWERLEVEL9K_VI_MODE_NORMAL_BACKGROUND=2 - # Text and color for visual vi mode. - typeset -g POWERLEVEL9K_VI_VISUAL_MODE_STRING=VISUAL - typeset -g POWERLEVEL9K_VI_MODE_VISUAL_BACKGROUND=4 - # Text and color for overtype (a.k.a. overwrite and replace) vi mode. - typeset -g POWERLEVEL9K_VI_OVERWRITE_MODE_STRING=OVERTYPE - typeset -g POWERLEVEL9K_VI_MODE_OVERWRITE_BACKGROUND=3 - # Text and color for insert vi mode. - typeset -g POWERLEVEL9K_VI_INSERT_MODE_STRING= - typeset -g POWERLEVEL9K_VI_MODE_INSERT_FOREGROUND=8 - - ######################################[ ram: free RAM ]####################################### - # RAM color. - # typeset -g POWERLEVEL9K_RAM_FOREGROUND=0 - # typeset -g POWERLEVEL9K_RAM_BACKGROUND=3 - # Custom icon. - # typeset -g POWERLEVEL9K_RAM_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #####################################[ swap: used swap ]###################################### - # Swap color. - # typeset -g POWERLEVEL9K_SWAP_FOREGROUND=0 - # typeset -g POWERLEVEL9K_SWAP_BACKGROUND=3 - # Custom icon. - # typeset -g POWERLEVEL9K_SWAP_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ######################################[ load: CPU load ]###################################### - # Show average CPU load over this many last minutes. Valid values are 1, 5 and 15. - typeset -g POWERLEVEL9K_LOAD_WHICH=5 - # Load color when load is under 50%. - # typeset -g POWERLEVEL9K_LOAD_NORMAL_FOREGROUND=0 - # typeset -g POWERLEVEL9K_LOAD_NORMAL_BACKGROUND=2 - # Load color when load is between 50% and 70%. - # typeset -g POWERLEVEL9K_LOAD_WARNING_FOREGROUND=0 - # typeset -g POWERLEVEL9K_LOAD_WARNING_BACKGROUND=3 - # Load color when load is over 70%. - # typeset -g POWERLEVEL9K_LOAD_CRITICAL_FOREGROUND=0 - # typeset -g POWERLEVEL9K_LOAD_CRITICAL_BACKGROUND=1 - # Custom icon. - # typeset -g POWERLEVEL9K_LOAD_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ################[ todo: todo items (https://github.com/todotxt/todo.txt-cli) ]################ - # Todo color. - # typeset -g POWERLEVEL9K_TODO_FOREGROUND=0 - # typeset -g POWERLEVEL9K_TODO_BACKGROUND=8 - # Hide todo when the total number of tasks is zero. - typeset -g POWERLEVEL9K_TODO_HIDE_ZERO_TOTAL=true - # Hide todo when the number of tasks after filtering is zero. - typeset -g POWERLEVEL9K_TODO_HIDE_ZERO_FILTERED=false - - # Todo format. The following parameters are available within the expansion. - # - # - P9K_TODO_TOTAL_TASK_COUNT The total number of tasks. - # - P9K_TODO_FILTERED_TASK_COUNT The number of tasks after filtering. - # - # These variables correspond to the last line of the output of `todo.sh -p ls`: - # - # TODO: 24 of 42 tasks shown - # - # Here 24 is P9K_TODO_FILTERED_TASK_COUNT and 42 is P9K_TODO_TOTAL_TASK_COUNT. - # - # typeset -g POWERLEVEL9K_TODO_CONTENT_EXPANSION='$P9K_TODO_FILTERED_TASK_COUNT' - - # Custom icon. - # typeset -g POWERLEVEL9K_TODO_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###########[ timewarrior: timewarrior tracking status (https://timewarrior.net/) ]############ - # Timewarrior color. - # typeset -g POWERLEVEL9K_TIMEWARRIOR_FOREGROUND=255 - # typeset -g POWERLEVEL9K_TIMEWARRIOR_BACKGROUND=8 - - # If the tracked task is longer than 24 characters, truncate and append "…". - # Tip: To always display tasks without truncation, delete the following parameter. - # Tip: To hide task names and display just the icon when time tracking is enabled, set the - # value of the following parameter to "". - typeset -g POWERLEVEL9K_TIMEWARRIOR_CONTENT_EXPANSION='${P9K_CONTENT:0:24}${${P9K_CONTENT:24}:+…}' - - # Custom icon. - # typeset -g POWERLEVEL9K_TIMEWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##############[ taskwarrior: taskwarrior task count (https://taskwarrior.org/) ]############## - # Taskwarrior color. - # typeset -g POWERLEVEL9K_TASKWARRIOR_FOREGROUND=0 - # typeset -g POWERLEVEL9K_TASKWARRIOR_BACKGROUND=6 - - # Taskwarrior segment format. The following parameters are available within the expansion. - # - # - P9K_TASKWARRIOR_PENDING_COUNT The number of pending tasks: `task +PENDING count`. - # - P9K_TASKWARRIOR_OVERDUE_COUNT The number of overdue tasks: `task +OVERDUE count`. - # - # Zero values are represented as empty parameters. - # - # The default format: - # - # '${P9K_TASKWARRIOR_OVERDUE_COUNT:+"!$P9K_TASKWARRIOR_OVERDUE_COUNT/"}$P9K_TASKWARRIOR_PENDING_COUNT' - # - # typeset -g POWERLEVEL9K_TASKWARRIOR_CONTENT_EXPANSION='$P9K_TASKWARRIOR_PENDING_COUNT' - - # Custom icon. - # typeset -g POWERLEVEL9K_TASKWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##################################[ context: user@hostname ]################################## - # Context color when running with privileges. - typeset -g POWERLEVEL9K_CONTEXT_ROOT_FOREGROUND=1 - typeset -g POWERLEVEL9K_CONTEXT_ROOT_BACKGROUND=0 - # Context color in SSH without privileges. - typeset -g POWERLEVEL9K_CONTEXT_{REMOTE,REMOTE_SUDO}_FOREGROUND=3 - typeset -g POWERLEVEL9K_CONTEXT_{REMOTE,REMOTE_SUDO}_BACKGROUND=0 - # Default context color (no privileges, no SSH). - typeset -g POWERLEVEL9K_CONTEXT_FOREGROUND=3 - typeset -g POWERLEVEL9K_CONTEXT_BACKGROUND=0 - - # Context format when running with privileges: user@hostname. - typeset -g POWERLEVEL9K_CONTEXT_ROOT_TEMPLATE='%n@%m' - # Context format when in SSH without privileges: user@hostname. - typeset -g POWERLEVEL9K_CONTEXT_{REMOTE,REMOTE_SUDO}_TEMPLATE='%n@%m' - # Default context format (no privileges, no SSH): user@hostname. - typeset -g POWERLEVEL9K_CONTEXT_TEMPLATE='%n@%m' - - # Don't show context unless running with privileges or in SSH. - # Tip: Remove the next line to always show context. - typeset -g POWERLEVEL9K_CONTEXT_{DEFAULT,SUDO}_{CONTENT,VISUAL_IDENTIFIER}_EXPANSION= - - # Custom icon. - # typeset -g POWERLEVEL9K_CONTEXT_VISUAL_IDENTIFIER_EXPANSION='⭐' - # Custom prefix. - # typeset -g POWERLEVEL9K_CONTEXT_PREFIX='with ' - - ###[ virtualenv: python virtual environment (https://docs.python.org/3/library/venv.html) ]### - # Python virtual environment color. - # typeset -g POWERLEVEL9K_VIRTUALENV_FOREGROUND=0 - # typeset -g POWERLEVEL9K_VIRTUALENV_BACKGROUND=4 - # Don't show Python version next to the virtual environment name. - typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_PYTHON_VERSION=false - # Don't show virtualenv if pyenv is already shown. - typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_WITH_PYENV=false - # Separate environment name from Python version only with a space. - typeset -g POWERLEVEL9K_VIRTUALENV_{LEFT,RIGHT}_DELIMITER= - # Custom icon. - # typeset -g POWERLEVEL9K_VIRTUALENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #####################[ anaconda: conda environment (https://conda.io/) ]###################### - # Anaconda environment color. - # typeset -g POWERLEVEL9K_ANACONDA_FOREGROUND=0 - # typeset -g POWERLEVEL9K_ANACONDA_BACKGROUND=4 - - # Anaconda segment format. The following parameters are available within the expansion. - # - # - CONDA_PREFIX Absolute path to the active Anaconda/Miniconda environment. - # - CONDA_DEFAULT_ENV Name of the active Anaconda/Miniconda environment. - # - CONDA_PROMPT_MODIFIER Configurable prompt modifier (see below). - # - P9K_ANACONDA_PYTHON_VERSION Current python version (python --version). - # - # CONDA_PROMPT_MODIFIER can be configured with the following command: - # - # conda config --set env_prompt '({default_env}) ' - # - # The last argument is a Python format string that can use the following variables: - # - # - prefix The same as CONDA_PREFIX. - # - default_env The same as CONDA_DEFAULT_ENV. - # - name The last segment of CONDA_PREFIX. - # - stacked_env Comma-separated list of names in the environment stack. The first element is - # always the same as default_env. - # - # Note: '({default_env}) ' is the default value of env_prompt. - # - # The default value of POWERLEVEL9K_ANACONDA_CONTENT_EXPANSION expands to $CONDA_PROMPT_MODIFIER - # without the surrounding parentheses, or to the last path component of CONDA_PREFIX if the former - # is empty. - typeset -g POWERLEVEL9K_ANACONDA_CONTENT_EXPANSION='${${${${CONDA_PROMPT_MODIFIER#\(}% }%\)}:-${CONDA_PREFIX:t}}' - - # Custom icon. - # typeset -g POWERLEVEL9K_ANACONDA_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ################[ pyenv: python environment (https://github.com/pyenv/pyenv) ]################ - # Pyenv color. - # typeset -g POWERLEVEL9K_PYENV_FOREGROUND=0 - # typeset -g POWERLEVEL9K_PYENV_BACKGROUND=4 - # Hide python version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_PYENV_SOURCES=(shell local global) - # If set to false, hide python version if it's the same as global: - # $(pyenv version-name) == $(pyenv global). - typeset -g POWERLEVEL9K_PYENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide python version if it's equal to "system". - typeset -g POWERLEVEL9K_PYENV_SHOW_SYSTEM=true - - # Pyenv segment format. The following parameters are available within the expansion. - # - # - P9K_CONTENT Current pyenv environment (pyenv version-name). - # - P9K_PYENV_PYTHON_VERSION Current python version (python --version). - # - # The default format has the following logic: - # - # 1. Display "$P9K_CONTENT $P9K_PYENV_PYTHON_VERSION" if $P9K_PYENV_PYTHON_VERSION is not - # empty and unequal to $P9K_CONTENT. - # 2. Otherwise display just "$P9K_CONTENT". - typeset -g POWERLEVEL9K_PYENV_CONTENT_EXPANSION='${P9K_CONTENT}${${P9K_PYENV_PYTHON_VERSION:#$P9K_CONTENT}:+ $P9K_PYENV_PYTHON_VERSION}' - - # Custom icon. - # typeset -g POWERLEVEL9K_PYENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ################[ goenv: go environment (https://github.com/syndbg/goenv) ]################ - # Goenv color. - # typeset -g POWERLEVEL9K_GOENV_FOREGROUND=0 - # typeset -g POWERLEVEL9K_GOENV_BACKGROUND=4 - # Hide go version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_GOENV_SOURCES=(shell local global) - # If set to false, hide go version if it's the same as global: - # $(goenv version-name) == $(goenv global). - typeset -g POWERLEVEL9K_GOENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide go version if it's equal to "system". - typeset -g POWERLEVEL9K_GOENV_SHOW_SYSTEM=true - # Custom icon. - # typeset -g POWERLEVEL9K_GOENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##########[ nodenv: node.js version from nodenv (https://github.com/nodenv/nodenv) ]########## - # Nodenv color. - # typeset -g POWERLEVEL9K_NODENV_FOREGROUND=2 - # typeset -g POWERLEVEL9K_NODENV_BACKGROUND=0 - # Hide node version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_NODENV_SOURCES=(shell local global) - # If set to false, hide node version if it's the same as global: - # $(nodenv version-name) == $(nodenv global). - typeset -g POWERLEVEL9K_NODENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide node version if it's equal to "system". - typeset -g POWERLEVEL9K_NODENV_SHOW_SYSTEM=true - # Custom icon. - # typeset -g POWERLEVEL9K_NODENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##############[ nvm: node.js version from nvm (https://github.com/nvm-sh/nvm) ]############### - # Nvm color. - # typeset -g POWERLEVEL9K_NVM_FOREGROUND=0 - # typeset -g POWERLEVEL9K_NVM_BACKGROUND=5 - # Custom icon. - # typeset -g POWERLEVEL9K_NVM_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ############[ nodeenv: node.js environment (https://github.com/ekalinin/nodeenv) ]############ - # Nodeenv color. - # typeset -g POWERLEVEL9K_NODEENV_FOREGROUND=2 - # typeset -g POWERLEVEL9K_NODEENV_BACKGROUND=0 - # Don't show Node version next to the environment name. - typeset -g POWERLEVEL9K_NODEENV_SHOW_NODE_VERSION=false - # Separate environment name from Node version only with a space. - typeset -g POWERLEVEL9K_NODEENV_{LEFT,RIGHT}_DELIMITER= - # Custom icon. - # typeset -g POWERLEVEL9K_NODEENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##############################[ node_version: node.js version ]############################### - # Node version color. - # typeset -g POWERLEVEL9K_NODE_VERSION_FOREGROUND=7 - # typeset -g POWERLEVEL9K_NODE_VERSION_BACKGROUND=2 - # Show node version only when in a directory tree containing package.json. - typeset -g POWERLEVEL9K_NODE_VERSION_PROJECT_ONLY=true - # Custom icon. - # typeset -g POWERLEVEL9K_NODE_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #######################[ go_version: go version (https://golang.org) ]######################## - # Go version color. - # typeset -g POWERLEVEL9K_GO_VERSION_FOREGROUND=255 - # typeset -g POWERLEVEL9K_GO_VERSION_BACKGROUND=2 - # Show go version only when in a go project subdirectory. - typeset -g POWERLEVEL9K_GO_VERSION_PROJECT_ONLY=true - # Custom icon. - # typeset -g POWERLEVEL9K_GO_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #################[ rust_version: rustc version (https://www.rust-lang.org) ]################## - # Rust version color. - # typeset -g POWERLEVEL9K_RUST_VERSION_FOREGROUND=0 - # typeset -g POWERLEVEL9K_RUST_VERSION_BACKGROUND=208 - # Show rust version only when in a rust project subdirectory. - typeset -g POWERLEVEL9K_RUST_VERSION_PROJECT_ONLY=true - # Custom icon. - # typeset -g POWERLEVEL9K_RUST_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###############[ dotnet_version: .NET version (https://dotnet.microsoft.com) ]################ - # .NET version color. - # typeset -g POWERLEVEL9K_DOTNET_VERSION_FOREGROUND=7 - # typeset -g POWERLEVEL9K_DOTNET_VERSION_BACKGROUND=5 - # Show .NET version only when in a .NET project subdirectory. - typeset -g POWERLEVEL9K_DOTNET_VERSION_PROJECT_ONLY=true - # Custom icon. - # typeset -g POWERLEVEL9K_DOTNET_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #####################[ php_version: php version (https://www.php.net/) ]###################### - # PHP version color. - typeset -g POWERLEVEL9K_PHP_VERSION_FOREGROUND=0 - typeset -g POWERLEVEL9K_PHP_VERSION_BACKGROUND=5 - # Show PHP version only when in a PHP project subdirectory. - typeset -g POWERLEVEL9K_PHP_VERSION_PROJECT_ONLY=true - # Custom icon. - # typeset -g POWERLEVEL9K_PHP_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##########[ laravel_version: laravel php framework version (https://laravel.com/) ]########### - # Laravel version color. - typeset -g POWERLEVEL9K_LARAVEL_VERSION_FOREGROUND=1 - typeset -g POWERLEVEL9K_LARAVEL_VERSION_BACKGROUND=7 - # Custom icon. - # typeset -g POWERLEVEL9K_LARAVEL_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #############[ rbenv: ruby version from rbenv (https://github.com/rbenv/rbenv) ]############## - # Rbenv color. - # typeset -g POWERLEVEL9K_RBENV_FOREGROUND=0 - # typeset -g POWERLEVEL9K_RBENV_BACKGROUND=1 - # Hide ruby version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_RBENV_SOURCES=(shell local global) - # If set to false, hide ruby version if it's the same as global: - # $(rbenv version-name) == $(rbenv global). - typeset -g POWERLEVEL9K_RBENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide ruby version if it's equal to "system". - typeset -g POWERLEVEL9K_RBENV_SHOW_SYSTEM=true - # Custom icon. - # typeset -g POWERLEVEL9K_RBENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ####################[ java_version: java version (https://www.java.com/) ]#################### - # Java version color. - typeset -g POWERLEVEL9K_JAVA_VERSION_FOREGROUND=1 - typeset -g POWERLEVEL9K_JAVA_VERSION_BACKGROUND=7 - # Show java version only when in a java project subdirectory. - typeset -g POWERLEVEL9K_JAVA_VERSION_PROJECT_ONLY=true - # Show brief version. - typeset -g POWERLEVEL9K_JAVA_VERSION_FULL=false - # Custom icon. - # typeset -g POWERLEVEL9K_JAVA_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###[ package: name@version from package.json (https://docs.npmjs.com/files/package.json) ]#### - # Package color. - # typeset -g POWERLEVEL9K_PACKAGE_FOREGROUND=0 - # typeset -g POWERLEVEL9K_PACKAGE_BACKGROUND=6 - - # Package format. The following parameters are available within the expansion. - # - # - P9K_PACKAGE_NAME The value of `name` field in package.json. - # - P9K_PACKAGE_VERSION The value of `version` field in package.json. - # - # typeset -g POWERLEVEL9K_PACKAGE_CONTENT_EXPANSION='${P9K_PACKAGE_NAME//\%/%%}@${P9K_PACKAGE_VERSION//\%/%%}' - - # Custom icon. - # typeset -g POWERLEVEL9K_PACKAGE_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #######################[ rvm: ruby version from rvm (https://rvm.io) ]######################## - # Rvm color. - # typeset -g POWERLEVEL9K_RVM_FOREGROUND=0 - # typeset -g POWERLEVEL9K_RVM_BACKGROUND=240 - # Don't show @gemset at the end. - typeset -g POWERLEVEL9K_RVM_SHOW_GEMSET=false - # Don't show ruby- at the front. - typeset -g POWERLEVEL9K_RVM_SHOW_PREFIX=false - # Custom icon. - # typeset -g POWERLEVEL9K_RVM_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###########[ fvm: flutter version management (https://github.com/leoafarias/fvm) ]############ - # Fvm color. - # typeset -g POWERLEVEL9K_FVM_FOREGROUND=0 - # typeset -g POWERLEVEL9K_FVM_BACKGROUND=4 - # Custom icon. - # typeset -g POWERLEVEL9K_FVM_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##########[ luaenv: lua version from luaenv (https://github.com/cehoffman/luaenv) ]########### - # Lua color. - # typeset -g POWERLEVEL9K_LUAENV_FOREGROUND=0 - # typeset -g POWERLEVEL9K_LUAENV_BACKGROUND=4 - # Hide lua version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_LUAENV_SOURCES=(shell local global) - # If set to false, hide lua version if it's the same as global: - # $(luaenv version-name) == $(luaenv global). - typeset -g POWERLEVEL9K_LUAENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide lua version if it's equal to "system". - typeset -g POWERLEVEL9K_LUAENV_SHOW_SYSTEM=true - # Custom icon. - # typeset -g POWERLEVEL9K_LUAENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###############[ jenv: java version from jenv (https://github.com/jenv/jenv) ]################ - # Java color. - # typeset -g POWERLEVEL9K_JENV_FOREGROUND=1 - # typeset -g POWERLEVEL9K_JENV_BACKGROUND=7 - # Hide java version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_JENV_SOURCES=(shell local global) - # If set to false, hide java version if it's the same as global: - # $(jenv version-name) == $(jenv global). - typeset -g POWERLEVEL9K_JENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide java version if it's equal to "system". - typeset -g POWERLEVEL9K_JENV_SHOW_SYSTEM=true - # Custom icon. - # typeset -g POWERLEVEL9K_JENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###########[ plenv: perl version from plenv (https://github.com/tokuhirom/plenv) ]############ - # Perl color. - # typeset -g POWERLEVEL9K_PLENV_FOREGROUND=0 - # typeset -g POWERLEVEL9K_PLENV_BACKGROUND=4 - # Hide perl version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_PLENV_SOURCES=(shell local global) - # If set to false, hide perl version if it's the same as global: - # $(plenv version-name) == $(plenv global). - typeset -g POWERLEVEL9K_PLENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide perl version if it's equal to "system". - typeset -g POWERLEVEL9K_PLENV_SHOW_SYSTEM=true - # Custom icon. - # typeset -g POWERLEVEL9K_PLENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ############[ phpenv: php version from phpenv (https://github.com/phpenv/phpenv) ]############ - # PHP color. - # typeset -g POWERLEVEL9K_PHPENV_FOREGROUND=0 - # typeset -g POWERLEVEL9K_PHPENV_BACKGROUND=5 - # Hide php version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_PHPENV_SOURCES=(shell local global) - # If set to false, hide php version if it's the same as global: - # $(phpenv version-name) == $(phpenv global). - typeset -g POWERLEVEL9K_PHPENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide PHP version if it's equal to "system". - typeset -g POWERLEVEL9K_PHPENV_SHOW_SYSTEM=true - # Custom icon. - # typeset -g POWERLEVEL9K_PHPENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##########[ haskell_stack: haskell version from stack (https://haskellstack.org/) ]########### - # Haskell color. - # typeset -g POWERLEVEL9K_HASKELL_STACK_FOREGROUND=0 - # typeset -g POWERLEVEL9K_HASKELL_STACK_BACKGROUND=3 - - # Hide haskell version if it doesn't come from one of these sources. - # - # shell: version is set by STACK_YAML - # local: version is set by stack.yaml up the directory tree - # global: version is set by the implicit global project (~/.stack/global-project/stack.yaml) - typeset -g POWERLEVEL9K_HASKELL_STACK_SOURCES=(shell local) - # If set to false, hide haskell version if it's the same as in the implicit global project. - typeset -g POWERLEVEL9K_HASKELL_STACK_ALWAYS_SHOW=true - # Custom icon. - # typeset -g POWERLEVEL9K_HASKELL_STACK_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ################[ terraform: terraform workspace (https://www.terraform.io) ]################# - # Don't show terraform workspace if it's literally "default". - typeset -g POWERLEVEL9K_TERRAFORM_SHOW_DEFAULT=false - # POWERLEVEL9K_TERRAFORM_CLASSES is an array with even number of elements. The first element - # in each pair defines a pattern against which the current terraform workspace gets matched. - # More specifically, it's P9K_CONTENT prior to the application of context expansion (see below) - # that gets matched. If you unset all POWERLEVEL9K_TERRAFORM_*CONTENT_EXPANSION parameters, - # you'll see this value in your prompt. The second element of each pair in - # POWERLEVEL9K_TERRAFORM_CLASSES defines the workspace class. Patterns are tried in order. The - # first match wins. - # - # For example, given these settings: - # - # typeset -g POWERLEVEL9K_TERRAFORM_CLASSES=( - # '*prod*' PROD - # '*test*' TEST - # '*' OTHER) - # - # If your current terraform workspace is "project_test", its class is TEST because "project_test" - # doesn't match the pattern '*prod*' but does match '*test*'. - # - # You can define different colors, icons and content expansions for different classes: - # - # typeset -g POWERLEVEL9K_TERRAFORM_TEST_FOREGROUND=2 - # typeset -g POWERLEVEL9K_TERRAFORM_TEST_BACKGROUND=0 - # typeset -g POWERLEVEL9K_TERRAFORM_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_TERRAFORM_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <' - typeset -g POWERLEVEL9K_TERRAFORM_CLASSES=( - # '*prod*' PROD # These values are examples that are unlikely - # '*test*' TEST # to match your needs. Customize them as needed. - '*' OTHER) - typeset -g POWERLEVEL9K_TERRAFORM_OTHER_FOREGROUND=4 - typeset -g POWERLEVEL9K_TERRAFORM_OTHER_BACKGROUND=0 - # typeset -g POWERLEVEL9K_TERRAFORM_OTHER_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #############[ kubecontext: current kubernetes context (https://kubernetes.io/) ]############# - # Show kubecontext only when the the command you are typing invokes one of these tools. - # Tip: Remove the next line to always show kubecontext. - typeset -g POWERLEVEL9K_KUBECONTEXT_SHOW_ON_COMMAND='kubectl|helm|kubens|kubectx|oc|istioctl|kogito|k9s|helmfile' - - # Kubernetes context classes for the purpose of using different colors, icons and expansions with - # different contexts. - # - # POWERLEVEL9K_KUBECONTEXT_CLASSES is an array with even number of elements. The first element - # in each pair defines a pattern against which the current kubernetes context gets matched. - # More specifically, it's P9K_CONTENT prior to the application of context expansion (see below) - # that gets matched. If you unset all POWERLEVEL9K_KUBECONTEXT_*CONTENT_EXPANSION parameters, - # you'll see this value in your prompt. The second element of each pair in - # POWERLEVEL9K_KUBECONTEXT_CLASSES defines the context class. Patterns are tried in order. The - # first match wins. - # - # For example, given these settings: - # - # typeset -g POWERLEVEL9K_KUBECONTEXT_CLASSES=( - # '*prod*' PROD - # '*test*' TEST - # '*' DEFAULT) - # - # If your current kubernetes context is "deathray-testing/default", its class is TEST - # because "deathray-testing/default" doesn't match the pattern '*prod*' but does match '*test*'. - # - # You can define different colors, icons and content expansions for different classes: - # - # typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_FOREGROUND=0 - # typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_BACKGROUND=2 - # typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <' - typeset -g POWERLEVEL9K_KUBECONTEXT_CLASSES=( - # '*prod*' PROD # These values are examples that are unlikely - # '*test*' TEST # to match your needs. Customize them as needed. - '*' DEFAULT) - typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_FOREGROUND=7 - typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_BACKGROUND=5 - # typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐' - - # Use POWERLEVEL9K_KUBECONTEXT_CONTENT_EXPANSION to specify the content displayed by kubecontext - # segment. Parameter expansions are very flexible and fast, too. See reference: - # http://zsh.sourceforge.net/Doc/Release/Expansion.html#Parameter-Expansion. - # - # Within the expansion the following parameters are always available: - # - # - P9K_CONTENT The content that would've been displayed if there was no content - # expansion defined. - # - P9K_KUBECONTEXT_NAME The current context's name. Corresponds to column NAME in the - # output of `kubectl config get-contexts`. - # - P9K_KUBECONTEXT_CLUSTER The current context's cluster. Corresponds to column CLUSTER in the - # output of `kubectl config get-contexts`. - # - P9K_KUBECONTEXT_NAMESPACE The current context's namespace. Corresponds to column NAMESPACE - # in the output of `kubectl config get-contexts`. If there is no - # namespace, the parameter is set to "default". - # - P9K_KUBECONTEXT_USER The current context's user. Corresponds to column AUTHINFO in the - # output of `kubectl config get-contexts`. - # - # If the context points to Google Kubernetes Engine (GKE) or Elastic Kubernetes Service (EKS), - # the following extra parameters are available: - # - # - P9K_KUBECONTEXT_CLOUD_NAME Either "gke" or "eks". - # - P9K_KUBECONTEXT_CLOUD_ACCOUNT Account/project ID. - # - P9K_KUBECONTEXT_CLOUD_ZONE Availability zone. - # - P9K_KUBECONTEXT_CLOUD_CLUSTER Cluster. - # - # P9K_KUBECONTEXT_CLOUD_* parameters are derived from P9K_KUBECONTEXT_CLUSTER. For example, - # if P9K_KUBECONTEXT_CLUSTER is "gke_my-account_us-east1-a_my-cluster-01": - # - # - P9K_KUBECONTEXT_CLOUD_NAME=gke - # - P9K_KUBECONTEXT_CLOUD_ACCOUNT=my-account - # - P9K_KUBECONTEXT_CLOUD_ZONE=us-east1-a - # - P9K_KUBECONTEXT_CLOUD_CLUSTER=my-cluster-01 - # - # If P9K_KUBECONTEXT_CLUSTER is "arn:aws:eks:us-east-1:123456789012:cluster/my-cluster-01": - # - # - P9K_KUBECONTEXT_CLOUD_NAME=eks - # - P9K_KUBECONTEXT_CLOUD_ACCOUNT=123456789012 - # - P9K_KUBECONTEXT_CLOUD_ZONE=us-east-1 - # - P9K_KUBECONTEXT_CLOUD_CLUSTER=my-cluster-01 - typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION= - # Show P9K_KUBECONTEXT_CLOUD_CLUSTER if it's not empty and fall back to P9K_KUBECONTEXT_NAME. - POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION+='${P9K_KUBECONTEXT_CLOUD_CLUSTER:-${P9K_KUBECONTEXT_NAME}}' - # Append the current context's namespace if it's not "default". - POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION+='${${:-/$P9K_KUBECONTEXT_NAMESPACE}:#/default}' - - # Custom prefix. - # typeset -g POWERLEVEL9K_KUBECONTEXT_PREFIX='at ' - - #[ aws: aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) ]# - # Show aws only when the the command you are typing invokes one of these tools. - # Tip: Remove the next line to always show aws. - typeset -g POWERLEVEL9K_AWS_SHOW_ON_COMMAND='aws|awless|terraform|pulumi|terragrunt' - - # POWERLEVEL9K_AWS_CLASSES is an array with even number of elements. The first element - # in each pair defines a pattern against which the current AWS profile gets matched. - # More specifically, it's P9K_CONTENT prior to the application of context expansion (see below) - # that gets matched. If you unset all POWERLEVEL9K_AWS_*CONTENT_EXPANSION parameters, - # you'll see this value in your prompt. The second element of each pair in - # POWERLEVEL9K_AWS_CLASSES defines the profile class. Patterns are tried in order. The - # first match wins. - # - # For example, given these settings: - # - # typeset -g POWERLEVEL9K_AWS_CLASSES=( - # '*prod*' PROD - # '*test*' TEST - # '*' DEFAULT) - # - # If your current AWS profile is "company_test", its class is TEST - # because "company_test" doesn't match the pattern '*prod*' but does match '*test*'. - # - # You can define different colors, icons and content expansions for different classes: - # - # typeset -g POWERLEVEL9K_AWS_TEST_FOREGROUND=28 - # typeset -g POWERLEVEL9K_AWS_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_AWS_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <' - typeset -g POWERLEVEL9K_AWS_CLASSES=( - # '*prod*' PROD # These values are examples that are unlikely - # '*test*' TEST # to match your needs. Customize them as needed. - '*' DEFAULT) - # typeset -g POWERLEVEL9K_AWS_DEFAULT_FOREGROUND=7 - # typeset -g POWERLEVEL9K_AWS_DEFAULT_BACKGROUND=1 - # typeset -g POWERLEVEL9K_AWS_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #[ aws_eb_env: aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/) ]# - # AWS Elastic Beanstalk environment color. - # typeset -g POWERLEVEL9K_AWS_EB_ENV_FOREGROUND=2 - # typeset -g POWERLEVEL9K_AWS_EB_ENV_BACKGROUND=0 - # Custom icon. - # typeset -g POWERLEVEL9K_AWS_EB_ENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##########[ azure: azure account name (https://docs.microsoft.com/en-us/cli/azure) ]########## - # Show azure only when the the command you are typing invokes one of these tools. - # Tip: Remove the next line to always show azure. - typeset -g POWERLEVEL9K_AZURE_SHOW_ON_COMMAND='az|terraform|pulumi|terragrunt' - # Azure account name color. - # typeset -g POWERLEVEL9K_AZURE_FOREGROUND=7 - # typeset -g POWERLEVEL9K_AZURE_BACKGROUND=4 - # Custom icon. - # typeset -g POWERLEVEL9K_AZURE_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##########[ gcloud: google cloud account and project (https://cloud.google.com/) ]########### - # Show gcloud only when the the command you are typing invokes one of these tools. - # Tip: Remove the next line to always show gcloud. - typeset -g POWERLEVEL9K_GCLOUD_SHOW_ON_COMMAND='gcloud|gcs' - # Google cloud color. - # typeset -g POWERLEVEL9K_GCLOUD_FOREGROUND=7 - # typeset -g POWERLEVEL9K_GCLOUD_BACKGROUND=4 - - # Google cloud format. Change the value of POWERLEVEL9K_GCLOUD_PARTIAL_CONTENT_EXPANSION and/or - # POWERLEVEL9K_GCLOUD_COMPLETE_CONTENT_EXPANSION if the default is too verbose or not informative - # enough. You can use the following parameters in the expansions. Each of them corresponds to the - # output of `gcloud` tool. - # - # Parameter | Source - # -------------------------|-------------------------------------------------------------------- - # P9K_GCLOUD_CONFIGURATION | gcloud config configurations list --format='value(name)' - # P9K_GCLOUD_ACCOUNT | gcloud config get-value account - # P9K_GCLOUD_PROJECT_ID | gcloud config get-value project - # P9K_GCLOUD_PROJECT_NAME | gcloud projects describe $P9K_GCLOUD_PROJECT_ID --format='value(name)' - # - # Note: ${VARIABLE//\%/%%} expands to ${VARIABLE} with all occurences of '%' replaced with '%%'. - # - # Obtaining project name requires sending a request to Google servers. This can take a long time - # and even fail. When project name is unknown, P9K_GCLOUD_PROJECT_NAME is not set and gcloud - # prompt segment is in state PARTIAL. When project name gets known, P9K_GCLOUD_PROJECT_NAME gets - # set and gcloud prompt segment transitions to state COMPLETE. - # - # You can customize the format, icon and colors of gcloud segment separately for states PARTIAL - # and COMPLETE. You can also hide gcloud in state PARTIAL by setting - # POWERLEVEL9K_GCLOUD_PARTIAL_VISUAL_IDENTIFIER_EXPANSION and - # POWERLEVEL9K_GCLOUD_PARTIAL_CONTENT_EXPANSION to empty. - typeset -g POWERLEVEL9K_GCLOUD_PARTIAL_CONTENT_EXPANSION='${P9K_GCLOUD_PROJECT_ID//\%/%%}' - typeset -g POWERLEVEL9K_GCLOUD_COMPLETE_CONTENT_EXPANSION='${P9K_GCLOUD_PROJECT_NAME//\%/%%}' - - # Send a request to Google (by means of `gcloud projects describe ...`) to obtain project name - # this often. Negative value disables periodic polling. In this mode project name is retrieved - # only when the current configuration, account or project id changes. - typeset -g POWERLEVEL9K_GCLOUD_REFRESH_PROJECT_NAME_SECONDS=60 - - # Custom icon. - # typeset -g POWERLEVEL9K_GCLOUD_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #[ google_app_cred: google application credentials (https://cloud.google.com/docs/authentication/production) ]# - # Show google_app_cred only when the the command you are typing invokes one of these tools. - # Tip: Remove the next line to always show google_app_cred. - typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_SHOW_ON_COMMAND='terraform|pulumi|terragrunt' - - # Google application credentials classes for the purpose of using different colors, icons and - # expansions with different credentials. - # - # POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES is an array with even number of elements. The first - # element in each pair defines a pattern against which the current kubernetes context gets - # matched. More specifically, it's P9K_CONTENT prior to the application of context expansion - # (see below) that gets matched. If you unset all POWERLEVEL9K_GOOGLE_APP_CRED_*CONTENT_EXPANSION - # parameters, you'll see this value in your prompt. The second element of each pair in - # POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES defines the context class. Patterns are tried in order. - # The first match wins. - # - # For example, given these settings: - # - # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES=( - # '*:*prod*:*' PROD - # '*:*test*:*' TEST - # '*' DEFAULT) - # - # If your current Google application credentials is "service_account deathray-testing x@y.com", - # its class is TEST because it doesn't match the pattern '* *prod* *' but does match '* *test* *'. - # - # You can define different colors, icons and content expansions for different classes: - # - # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_TEST_FOREGROUND=28 - # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_TEST_CONTENT_EXPANSION='$P9K_GOOGLE_APP_CRED_PROJECT_ID' - typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES=( - # '*:*prod*:*' PROD # These values are examples that are unlikely - # '*:*test*:*' TEST # to match your needs. Customize them as needed. - '*' DEFAULT) - # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_FOREGROUND=7 - # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_BACKGROUND=4 - # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐' - - # Use POWERLEVEL9K_GOOGLE_APP_CRED_CONTENT_EXPANSION to specify the content displayed by - # google_app_cred segment. Parameter expansions are very flexible and fast, too. See reference: - # http://zsh.sourceforge.net/Doc/Release/Expansion.html#Parameter-Expansion. - # - # You can use the following parameters in the expansion. Each of them corresponds to one of the - # fields in the JSON file pointed to by GOOGLE_APPLICATION_CREDENTIALS. - # - # Parameter | JSON key file field - # ---------------------------------+--------------- - # P9K_GOOGLE_APP_CRED_TYPE | type - # P9K_GOOGLE_APP_CRED_PROJECT_ID | project_id - # P9K_GOOGLE_APP_CRED_CLIENT_EMAIL | client_email - # - # Note: ${VARIABLE//\%/%%} expands to ${VARIABLE} with all occurences of '%' replaced by '%%'. - typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_CONTENT_EXPANSION='${P9K_GOOGLE_APP_CRED_PROJECT_ID//\%/%%}' - - ###############################[ public_ip: public IP address ]############################### - # Public IP color. - # typeset -g POWERLEVEL9K_PUBLIC_IP_FOREGROUND=7 - # typeset -g POWERLEVEL9K_PUBLIC_IP_BACKGROUND=0 - # Custom icon. - # typeset -g POWERLEVEL9K_PUBLIC_IP_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ########################[ vpn_ip: virtual private network indicator ]######################### - # VPN IP color. - # typeset -g POWERLEVEL9K_VPN_IP_FOREGROUND=0 - # typeset -g POWERLEVEL9K_VPN_IP_BACKGROUND=6 - # When on VPN, show just an icon without the IP address. - # Tip: To display the private IP address when on VPN, remove the next line. - typeset -g POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION= - # Regular expression for the VPN network interface. Run `ifconfig` or `ip -4 a show` while on VPN - # to see the name of the interface. - typeset -g POWERLEVEL9K_VPN_IP_INTERFACE='(gpd|wg|(.*tun))[0-9]*' - # If set to true, show one segment per matching network interface. If set to false, show only - # one segment corresponding to the first matching network interface. - # Tip: If you set it to true, you'll probably want to unset POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION. - typeset -g POWERLEVEL9K_VPN_IP_SHOW_ALL=false - # Custom icon. - # typeset -g POWERLEVEL9K_VPN_IP_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###########[ ip: ip address and bandwidth usage for a specified network interface ]########### - # IP color. - typeset -g POWERLEVEL9K_IP_BACKGROUND=4 - typeset -g POWERLEVEL9K_IP_FOREGROUND=0 - # The following parameters are accessible within the expansion: - # - # Parameter | Meaning - # ----------------------+--------------- - # P9K_IP_IP | IP address - # P9K_IP_INTERFACE | network interface - # P9K_IP_RX_BYTES | total number of bytes received - # P9K_IP_TX_BYTES | total number of bytes sent - # P9K_IP_RX_RATE | receive rate (since last prompt) - # P9K_IP_TX_RATE | send rate (since last prompt) - typeset -g POWERLEVEL9K_IP_CONTENT_EXPANSION='${P9K_IP_RX_RATE:+⇣$P9K_IP_RX_RATE }${P9K_IP_TX_RATE:+⇡$P9K_IP_TX_RATE }$P9K_IP_IP' - # Show information for the first network interface whose name matches this regular expression. - # Run `ifconfig` or `ip -4 a show` to see the names of all network interfaces. - typeset -g POWERLEVEL9K_IP_INTERFACE='e.*' - # Custom icon. - # typeset -g POWERLEVEL9K_IP_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #########################[ proxy: system-wide http/https/ftp proxy ]########################## - # Proxy color. - # typeset -g POWERLEVEL9K_PROXY_FOREGROUND=4 - # typeset -g POWERLEVEL9K_PROXY_BACKGROUND=0 - # Custom icon. - # typeset -g POWERLEVEL9K_PROXY_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ################################[ battery: internal battery ]################################# - # Show battery in red when it's below this level and not connected to power supply. - typeset -g POWERLEVEL9K_BATTERY_LOW_THRESHOLD=20 - typeset -g POWERLEVEL9K_BATTERY_LOW_FOREGROUND=1 - # Show battery in green when it's charging or fully charged. - typeset -g POWERLEVEL9K_BATTERY_{CHARGING,CHARGED}_FOREGROUND=2 - # Show battery in yellow when it's discharging. - typeset -g POWERLEVEL9K_BATTERY_DISCONNECTED_FOREGROUND=3 - # Battery pictograms going from low to high level of charge. - typeset -g POWERLEVEL9K_BATTERY_STAGES='\uf58d\uf579\uf57a\uf57b\uf57c\uf57d\uf57e\uf57f\uf580\uf581\uf578' - # Don't show the remaining time to charge/discharge. - typeset -g POWERLEVEL9K_BATTERY_VERBOSE=false - # typeset -g POWERLEVEL9K_BATTERY_BACKGROUND=0 - - #####################################[ wifi: wifi speed ]##################################### - # WiFi color. - # typeset -g POWERLEVEL9K_WIFI_FOREGROUND=0 - # typeset -g POWERLEVEL9K_WIFI_BACKGROUND=4 - # Custom icon. - # typeset -g POWERLEVEL9K_WIFI_VISUAL_IDENTIFIER_EXPANSION='⭐' - - # Use different colors and icons depending on signal strength ($P9K_WIFI_BARS). - # - # # Wifi colors and icons for different signal strength levels (low to high). - # typeset -g my_wifi_fg=(0 0 0 0 0) # <-- change these values - # typeset -g my_wifi_icon=('WiFi' 'WiFi' 'WiFi' 'WiFi' 'WiFi') # <-- change these values - # - # typeset -g POWERLEVEL9K_WIFI_CONTENT_EXPANSION='%F{${my_wifi_fg[P9K_WIFI_BARS+1]}}$P9K_WIFI_LAST_TX_RATE Mbps' - # typeset -g POWERLEVEL9K_WIFI_VISUAL_IDENTIFIER_EXPANSION='%F{${my_wifi_fg[P9K_WIFI_BARS+1]}}${my_wifi_icon[P9K_WIFI_BARS+1]}' - # - # The following parameters are accessible within the expansions: - # - # Parameter | Meaning - # ----------------------+--------------- - # P9K_WIFI_SSID | service set identifier, a.k.a. network name - # P9K_WIFI_LINK_AUTH | authentication protocol such as "wpa2-psk" or "none"; empty if unknown - # P9K_WIFI_LAST_TX_RATE | wireless transmit rate in megabits per second - # P9K_WIFI_RSSI | signal strength in dBm, from -120 to 0 - # P9K_WIFI_NOISE | noise in dBm, from -120 to 0 - # P9K_WIFI_BARS | signal strength in bars, from 0 to 4 (derived from P9K_WIFI_RSSI and P9K_WIFI_NOISE) - - ####################################[ time: current time ]#################################### - # Current time color. - # typeset -g POWERLEVEL9K_TIME_FOREGROUND=0 - # typeset -g POWERLEVEL9K_TIME_BACKGROUND=7 - # Format for the current time: 09:51:02. See `man 3 strftime`. - typeset -g POWERLEVEL9K_TIME_FORMAT='%D{%I:%M:%S %p}' - # If set to true, time will update when you hit enter. This way prompts for the past - # commands will contain the start times of their commands as opposed to the default - # behavior where they contain the end times of their preceding commands. - typeset -g POWERLEVEL9K_TIME_UPDATE_ON_COMMAND=false - # Custom icon. - typeset -g POWERLEVEL9K_TIME_VISUAL_IDENTIFIER_EXPANSION= - # Custom prefix. - # typeset -g POWERLEVEL9K_TIME_PREFIX='at ' - - # Example of a user-defined prompt segment. Function prompt_example will be called on every - # prompt if `example` prompt segment is added to POWERLEVEL9K_LEFT_PROMPT_ELEMENTS or - # POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS. It displays an icon and yellow text on red background - # greeting the user. - # - # Type `p10k help segment` for documentation and a more sophisticated example. - function prompt_example() { - p10k segment -b 1 -f 3 -i '⭐' -t 'hello, %n' - } - - # User-defined prompt segments may optionally provide an instant_prompt_* function. Its job - # is to generate the prompt segment for display in instant prompt. See - # https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt. - # - # Powerlevel10k will call instant_prompt_* at the same time as the regular prompt_* function - # and will record all `p10k segment` calls it makes. When displaying instant prompt, Powerlevel10k - # will replay these calls without actually calling instant_prompt_*. It is imperative that - # instant_prompt_* always makes the same `p10k segment` calls regardless of environment. If this - # rule is not observed, the content of instant prompt will be incorrect. - # - # Usually, you should either not define instant_prompt_* or simply call prompt_* from it. If - # instant_prompt_* is not defined for a segment, the segment won't be shown in instant prompt. - function instant_prompt_example() { - # Since prompt_example always makes the same `p10k segment` calls, we can call it from - # instant_prompt_example. This will give us the same `example` prompt segment in the instant - # and regular prompts. - prompt_example - } - - # User-defined prompt segments can be customized the same way as built-in segments. - # typeset -g POWERLEVEL9K_EXAMPLE_FOREGROUND=3 - # typeset -g POWERLEVEL9K_EXAMPLE_VISUAL_IDENTIFIER_EXPANSION='⭐' - - # Transient prompt works similarly to the builtin transient_rprompt option. It trims down prompt - # when accepting a command line. Supported values: - # - # - off: Don't change prompt when accepting a command line. - # - always: Trim down prompt when accepting a command line. - # - same-dir: Trim down prompt when accepting a command line unless this is the first command - # typed after changing current working directory. - typeset -g POWERLEVEL9K_TRANSIENT_PROMPT=always - - # Instant prompt mode. - # - # - off: Disable instant prompt. Choose this if you've tried instant prompt and found - # it incompatible with your zsh configuration files. - # - quiet: Enable instant prompt and don't print warnings when detecting console output - # during zsh initialization. Choose this if you've read and understood - # https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt. - # - verbose: Enable instant prompt and print a warning when detecting console output during - # zsh initialization. Choose this if you've never tried instant prompt, haven't - # seen the warning, or if you are unsure what this all means. - typeset -g POWERLEVEL9K_INSTANT_PROMPT=verbose - - # Hot reload allows you to change POWERLEVEL9K options after Powerlevel10k has been initialized. - # For example, you can type POWERLEVEL9K_BACKGROUND=red and see your prompt turn red. Hot reload - # can slow down prompt by 1-2 milliseconds, so it's better to keep it turned off unless you - # really need it. - typeset -g POWERLEVEL9K_DISABLE_HOT_RELOAD=true - - # If p10k is already loaded, reload configuration. - # This works even with POWERLEVEL9K_DISABLE_HOT_RELOAD=true. - (( ! $+functions[p10k] )) || p10k reload -} - -# Tell `p10k configure` which file it should overwrite. -typeset -g POWERLEVEL9K_CONFIG_FILE=${${(%):-%x}:a} - -(( ${#p10k_config_opts} )) && setopt ${p10k_config_opts[@]} -'builtin' 'unset' 'p10k_config_opts'