···11+# Generated by Powerlevel10k configuration wizard on 2024-06-18 at 19:37 CEST.
22+# Based on romkatv/powerlevel10k/config/p10k-lean.zsh, checksum 04242.
33+# Wizard options: compatible, ascii, lean, 24h time, 2 lines, dotted, dark-ornaments,
44+# sparse, concise, transient_prompt, instant_prompt=verbose.
55+# Type `p10k configure` to generate another config.
66+#
77+# Config for Powerlevel10k with lean prompt style. Type `p10k configure` to generate
88+# your own config based on it.
99+#
1010+# Tip: Looking for a nice color? Here's a one-liner to print colormap.
1111+#
1212+# for i in {0..255}; do print -Pn "%K{$i} %k%F{$i}${(l:3::0:)i}%f " ${${(M)$((i%6)):#3}:+$'\n'}; done
1313+1414+# Temporarily change options.
1515+'builtin' 'local' '-a' 'p10k_config_opts'
1616+[[ ! -o 'aliases' ]] || p10k_config_opts+=('aliases')
1717+[[ ! -o 'sh_glob' ]] || p10k_config_opts+=('sh_glob')
1818+[[ ! -o 'no_brace_expand' ]] || p10k_config_opts+=('no_brace_expand')
1919+'builtin' 'setopt' 'no_aliases' 'no_sh_glob' 'brace_expand'
2020+2121+() {
2222+ emulate -L zsh -o extended_glob
2323+2424+ # Unset all configuration options. This allows you to apply configuration changes without
2525+ # restarting zsh. Edit ~/.p10k.zsh and type `source ~/.p10k.zsh`.
2626+ unset -m '(POWERLEVEL9K_*|DEFAULT_USER)~POWERLEVEL9K_GITSTATUS_DIR'
2727+2828+ # Zsh >= 5.1 is required.
2929+ [[ $ZSH_VERSION == (5.<1->*|<6->.*) ]] || return
3030+3131+ # The list of segments shown on the left. Fill it with the most important segments.
3232+ typeset -g POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(
3333+ # =========================[ Line #1 ]=========================
3434+ # os_icon # os identifier
3535+ dir # current directory
3636+ vcs # git status
3737+ # =========================[ Line #2 ]=========================
3838+ newline # \n
3939+ prompt_char # prompt symbol
4040+ )
4141+4242+ # The list of segments shown on the right. Fill it with less important segments.
4343+ # Right prompt on the last prompt line (where you are typing your commands) gets
4444+ # automatically hidden when the input line reaches it. Right prompt above the
4545+ # last prompt line gets hidden if it would overlap with left prompt.
4646+ typeset -g POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(
4747+ # =========================[ Line #1 ]=========================
4848+ status # exit code of the last command
4949+ command_execution_time # duration of the last command
5050+ background_jobs # presence of background jobs
5151+ direnv # direnv status (https://direnv.net/)
5252+ asdf # asdf version manager (https://github.com/asdf-vm/asdf)
5353+ virtualenv # python virtual environment (https://docs.python.org/3/library/venv.html)
5454+ anaconda # conda environment (https://conda.io/)
5555+ pyenv # python environment (https://github.com/pyenv/pyenv)
5656+ goenv # go environment (https://github.com/syndbg/goenv)
5757+ nodenv # node.js version from nodenv (https://github.com/nodenv/nodenv)
5858+ nvm # node.js version from nvm (https://github.com/nvm-sh/nvm)
5959+ nodeenv # node.js environment (https://github.com/ekalinin/nodeenv)
6060+ # node_version # node.js version
6161+ # go_version # go version (https://golang.org)
6262+ # rust_version # rustc version (https://www.rust-lang.org)
6363+ # dotnet_version # .NET version (https://dotnet.microsoft.com)
6464+ # php_version # php version (https://www.php.net/)
6565+ # laravel_version # laravel php framework version (https://laravel.com/)
6666+ # java_version # java version (https://www.java.com/)
6767+ # package # name@version from package.json (https://docs.npmjs.com/files/package.json)
6868+ rbenv # ruby version from rbenv (https://github.com/rbenv/rbenv)
6969+ rvm # ruby version from rvm (https://rvm.io)
7070+ fvm # flutter version management (https://github.com/leoafarias/fvm)
7171+ luaenv # lua version from luaenv (https://github.com/cehoffman/luaenv)
7272+ jenv # java version from jenv (https://github.com/jenv/jenv)
7373+ plenv # perl version from plenv (https://github.com/tokuhirom/plenv)
7474+ perlbrew # perl version from perlbrew (https://github.com/gugod/App-perlbrew)
7575+ phpenv # php version from phpenv (https://github.com/phpenv/phpenv)
7676+ scalaenv # scala version from scalaenv (https://github.com/scalaenv/scalaenv)
7777+ haskell_stack # haskell version from stack (https://haskellstack.org/)
7878+ kubecontext # current kubernetes context (https://kubernetes.io/)
7979+ terraform # terraform workspace (https://www.terraform.io)
8080+ # terraform_version # terraform version (https://www.terraform.io)
8181+ aws # aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html)
8282+ aws_eb_env # aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/)
8383+ azure # azure account name (https://docs.microsoft.com/en-us/cli/azure)
8484+ gcloud # google cloud cli account and project (https://cloud.google.com/)
8585+ google_app_cred # google application credentials (https://cloud.google.com/docs/authentication/production)
8686+ toolbox # toolbox name (https://github.com/containers/toolbox)
8787+ context # user@hostname
8888+ nordvpn # nordvpn connection status, linux only (https://nordvpn.com/)
8989+ ranger # ranger shell (https://github.com/ranger/ranger)
9090+ yazi # yazi shell (https://github.com/sxyazi/yazi)
9191+ nnn # nnn shell (https://github.com/jarun/nnn)
9292+ lf # lf shell (https://github.com/gokcehan/lf)
9393+ xplr # xplr shell (https://github.com/sayanarijit/xplr)
9494+ vim_shell # vim shell indicator (:sh)
9595+ midnight_commander # midnight commander shell (https://midnight-commander.org/)
9696+ nix_shell # nix shell (https://nixos.org/nixos/nix-pills/developing-with-nix-shell.html)
9797+ chezmoi_shell # chezmoi shell (https://www.chezmoi.io/)
9898+ # vpn_ip # virtual private network indicator
9999+ # load # CPU load
100100+ # disk_usage # disk usage
101101+ # ram # free RAM
102102+ # swap # used swap
103103+ todo # todo items (https://github.com/todotxt/todo.txt-cli)
104104+ timewarrior # timewarrior tracking status (https://timewarrior.net/)
105105+ taskwarrior # taskwarrior task count (https://taskwarrior.org/)
106106+ per_directory_history # Oh My Zsh per-directory-history local/global indicator
107107+ # cpu_arch # CPU architecture
108108+ time # current time
109109+ # =========================[ Line #2 ]=========================
110110+ newline
111111+ # ip # ip address and bandwidth usage for a specified network interface
112112+ # public_ip # public IP address
113113+ # proxy # system-wide http/https/ftp proxy
114114+ # battery # internal battery
115115+ # wifi # wifi speed
116116+ # example # example user-defined segment (see prompt_example function below)
117117+ )
118118+119119+ # Defines character set used by powerlevel10k. It's best to let `p10k configure` set it for you.
120120+ typeset -g POWERLEVEL9K_MODE=ascii
121121+ # When set to `moderate`, some icons will have an extra space after them. This is meant to avoid
122122+ # icon overlap when using non-monospace fonts. When set to `none`, spaces are not added.
123123+ typeset -g POWERLEVEL9K_ICON_PADDING=none
124124+125125+ # Basic style options that define the overall look of your prompt. You probably don't want to
126126+ # change them.
127127+ typeset -g POWERLEVEL9K_BACKGROUND= # transparent background
128128+ typeset -g POWERLEVEL9K_{LEFT,RIGHT}_{LEFT,RIGHT}_WHITESPACE= # no surrounding whitespace
129129+ typeset -g POWERLEVEL9K_{LEFT,RIGHT}_SUBSEGMENT_SEPARATOR=' ' # separate segments with a space
130130+ typeset -g POWERLEVEL9K_{LEFT,RIGHT}_SEGMENT_SEPARATOR= # no end-of-line symbol
131131+132132+ # When set to true, icons appear before content on both sides of the prompt. When set
133133+ # to false, icons go after content. If empty or not set, icons go before content in the left
134134+ # prompt and after content in the right prompt.
135135+ #
136136+ # You can also override it for a specific segment:
137137+ #
138138+ # POWERLEVEL9K_STATUS_ICON_BEFORE_CONTENT=false
139139+ #
140140+ # Or for a specific segment in specific state:
141141+ #
142142+ # POWERLEVEL9K_DIR_NOT_WRITABLE_ICON_BEFORE_CONTENT=false
143143+ typeset -g POWERLEVEL9K_ICON_BEFORE_CONTENT=true
144144+145145+ # Add an empty line before each prompt.
146146+ typeset -g POWERLEVEL9K_PROMPT_ADD_NEWLINE=true
147147+148148+ # Connect left prompt lines with these symbols.
149149+ typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX=
150150+ typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_PREFIX=
151151+ typeset -g POWERLEVEL9K_MULTILINE_LAST_PROMPT_PREFIX=
152152+ # Connect right prompt lines with these symbols.
153153+ typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_SUFFIX=
154154+ typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_SUFFIX=
155155+ typeset -g POWERLEVEL9K_MULTILINE_LAST_PROMPT_SUFFIX=
156156+157157+ # The left end of left prompt.
158158+ typeset -g POWERLEVEL9K_LEFT_PROMPT_FIRST_SEGMENT_START_SYMBOL=
159159+ # The right end of right prompt.
160160+ typeset -g POWERLEVEL9K_RIGHT_PROMPT_LAST_SEGMENT_END_SYMBOL=
161161+162162+ # Ruler, a.k.a. the horizontal line before each prompt. If you set it to true, you'll
163163+ # probably want to set POWERLEVEL9K_PROMPT_ADD_NEWLINE=false above and
164164+ # POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR=' ' below.
165165+ typeset -g POWERLEVEL9K_SHOW_RULER=false
166166+ typeset -g POWERLEVEL9K_RULER_CHAR='-' # reasonable alternative: '·'
167167+ typeset -g POWERLEVEL9K_RULER_FOREGROUND=240
168168+169169+ # Filler between left and right prompt on the first prompt line. You can set it to '·' or '-'
170170+ # to make it easier to see the alignment between left and right prompt and to separate prompt
171171+ # from command output. It serves the same purpose as ruler (see above) without increasing
172172+ # the number of prompt lines. You'll probably want to set POWERLEVEL9K_SHOW_RULER=false
173173+ # if using this. You might also like POWERLEVEL9K_PROMPT_ADD_NEWLINE=false for more compact
174174+ # prompt.
175175+ typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR='.'
176176+ if [[ $POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR != ' ' ]]; then
177177+ # The color of the filler.
178178+ typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_FOREGROUND=240
179179+ # Add a space between the end of left prompt and the filler.
180180+ typeset -g POWERLEVEL9K_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL=' '
181181+ # Add a space between the filler and the start of right prompt.
182182+ typeset -g POWERLEVEL9K_RIGHT_PROMPT_FIRST_SEGMENT_START_SYMBOL=' '
183183+ # Start filler from the edge of the screen if there are no left segments on the first line.
184184+ typeset -g POWERLEVEL9K_EMPTY_LINE_LEFT_PROMPT_FIRST_SEGMENT_END_SYMBOL='%{%}'
185185+ # End filler on the edge of the screen if there are no right segments on the first line.
186186+ typeset -g POWERLEVEL9K_EMPTY_LINE_RIGHT_PROMPT_FIRST_SEGMENT_START_SYMBOL='%{%}'
187187+ fi
188188+189189+ #################################[ os_icon: os identifier ]##################################
190190+ # OS identifier color.
191191+ typeset -g POWERLEVEL9K_OS_ICON_FOREGROUND=
192192+ # Custom icon.
193193+ # typeset -g POWERLEVEL9K_OS_ICON_CONTENT_EXPANSION='⭐'
194194+195195+ ################################[ prompt_char: prompt symbol ]################################
196196+ # Green prompt symbol if the last command succeeded.
197197+ typeset -g POWERLEVEL9K_PROMPT_CHAR_OK_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=76
198198+ # Red prompt symbol if the last command failed.
199199+ typeset -g POWERLEVEL9K_PROMPT_CHAR_ERROR_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=196
200200+ # Default prompt symbol.
201201+ typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIINS_CONTENT_EXPANSION='>'
202202+ # Prompt symbol in command vi mode.
203203+ typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VICMD_CONTENT_EXPANSION='<'
204204+ # Prompt symbol in visual vi mode.
205205+ typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIVIS_CONTENT_EXPANSION='V'
206206+ # Prompt symbol in overwrite vi mode.
207207+ typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIOWR_CONTENT_EXPANSION='^'
208208+ typeset -g POWERLEVEL9K_PROMPT_CHAR_OVERWRITE_STATE=true
209209+ # No line terminator if prompt_char is the last segment.
210210+ typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL=''
211211+ # No line introducer if prompt_char is the first segment.
212212+ typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_PROMPT_FIRST_SEGMENT_START_SYMBOL=
213213+214214+ ##################################[ dir: current directory ]##################################
215215+ # Default current directory color.
216216+ typeset -g POWERLEVEL9K_DIR_FOREGROUND=31
217217+ # If directory is too long, shorten some of its segments to the shortest possible unique
218218+ # prefix. The shortened directory can be tab-completed to the original.
219219+ typeset -g POWERLEVEL9K_SHORTEN_STRATEGY=truncate_to_unique
220220+ # Replace removed segment suffixes with this symbol.
221221+ typeset -g POWERLEVEL9K_SHORTEN_DELIMITER=
222222+ # Color of the shortened directory segments.
223223+ typeset -g POWERLEVEL9K_DIR_SHORTENED_FOREGROUND=103
224224+ # Color of the anchor directory segments. Anchor segments are never shortened. The first
225225+ # segment is always an anchor.
226226+ typeset -g POWERLEVEL9K_DIR_ANCHOR_FOREGROUND=39
227227+ # Display anchor directory segments in bold.
228228+ typeset -g POWERLEVEL9K_DIR_ANCHOR_BOLD=true
229229+ # Don't shorten directories that contain any of these files. They are anchors.
230230+ local anchor_files=(
231231+ .bzr
232232+ .citc
233233+ .git
234234+ .hg
235235+ .node-version
236236+ .python-version
237237+ .go-version
238238+ .ruby-version
239239+ .lua-version
240240+ .java-version
241241+ .perl-version
242242+ .php-version
243243+ .tool-versions
244244+ .shorten_folder_marker
245245+ .svn
246246+ .terraform
247247+ CVS
248248+ Cargo.toml
249249+ composer.json
250250+ go.mod
251251+ package.json
252252+ stack.yaml
253253+ )
254254+ typeset -g POWERLEVEL9K_SHORTEN_FOLDER_MARKER="(${(j:|:)anchor_files})"
255255+ # If set to "first" ("last"), remove everything before the first (last) subdirectory that contains
256256+ # files matching $POWERLEVEL9K_SHORTEN_FOLDER_MARKER. For example, when the current directory is
257257+ # /foo/bar/git_repo/nested_git_repo/baz, prompt will display git_repo/nested_git_repo/baz (first)
258258+ # or nested_git_repo/baz (last). This assumes that git_repo and nested_git_repo contain markers
259259+ # and other directories don't.
260260+ #
261261+ # Optionally, "first" and "last" can be followed by ":<offset>" where <offset> is an integer.
262262+ # This moves the truncation point to the right (positive offset) or to the left (negative offset)
263263+ # relative to the marker. Plain "first" and "last" are equivalent to "first:0" and "last:0"
264264+ # respectively.
265265+ typeset -g POWERLEVEL9K_DIR_TRUNCATE_BEFORE_MARKER=false
266266+ # Don't shorten this many last directory segments. They are anchors.
267267+ typeset -g POWERLEVEL9K_SHORTEN_DIR_LENGTH=1
268268+ # Shorten directory if it's longer than this even if there is space for it. The value can
269269+ # be either absolute (e.g., '80') or a percentage of terminal width (e.g, '50%'). If empty,
270270+ # directory will be shortened only when prompt doesn't fit or when other parameters demand it
271271+ # (see POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS and POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS_PCT below).
272272+ # If set to `0`, directory will always be shortened to its minimum length.
273273+ typeset -g POWERLEVEL9K_DIR_MAX_LENGTH=80
274274+ # When `dir` segment is on the last prompt line, try to shorten it enough to leave at least this
275275+ # many columns for typing commands.
276276+ typeset -g POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS=40
277277+ # When `dir` segment is on the last prompt line, try to shorten it enough to leave at least
278278+ # COLUMNS * POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS_PCT * 0.01 columns for typing commands.
279279+ typeset -g POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS_PCT=50
280280+ # If set to true, embed a hyperlink into the directory. Useful for quickly
281281+ # opening a directory in the file manager simply by clicking the link.
282282+ # Can also be handy when the directory is shortened, as it allows you to see
283283+ # the full directory that was used in previous commands.
284284+ typeset -g POWERLEVEL9K_DIR_HYPERLINK=false
285285+286286+ # Enable special styling for non-writable and non-existent directories. See POWERLEVEL9K_LOCK_ICON
287287+ # and POWERLEVEL9K_DIR_CLASSES below.
288288+ typeset -g POWERLEVEL9K_DIR_SHOW_WRITABLE=v3
289289+290290+ # The default icon shown next to non-writable and non-existent directories when
291291+ # POWERLEVEL9K_DIR_SHOW_WRITABLE is set to v3.
292292+ # typeset -g POWERLEVEL9K_LOCK_ICON='⭐'
293293+294294+ # POWERLEVEL9K_DIR_CLASSES allows you to specify custom icons and colors for different
295295+ # directories. It must be an array with 3 * N elements. Each triplet consists of:
296296+ #
297297+ # 1. A pattern against which the current directory ($PWD) is matched. Matching is done with
298298+ # extended_glob option enabled.
299299+ # 2. Directory class for the purpose of styling.
300300+ # 3. An empty string.
301301+ #
302302+ # Triplets are tried in order. The first triplet whose pattern matches $PWD wins.
303303+ #
304304+ # If POWERLEVEL9K_DIR_SHOW_WRITABLE is set to v3, non-writable and non-existent directories
305305+ # acquire class suffix _NOT_WRITABLE and NON_EXISTENT respectively.
306306+ #
307307+ # For example, given these settings:
308308+ #
309309+ # typeset -g POWERLEVEL9K_DIR_CLASSES=(
310310+ # '~/work(|/*)' WORK ''
311311+ # '~(|/*)' HOME ''
312312+ # '*' DEFAULT '')
313313+ #
314314+ # Whenever the current directory is ~/work or a subdirectory of ~/work, it gets styled with one
315315+ # of the following classes depending on its writability and existence: WORK, WORK_NOT_WRITABLE or
316316+ # WORK_NON_EXISTENT.
317317+ #
318318+ # Simply assigning classes to directories doesn't have any visible effects. It merely gives you an
319319+ # option to define custom colors and icons for different directory classes.
320320+ #
321321+ # # Styling for WORK.
322322+ # typeset -g POWERLEVEL9K_DIR_WORK_VISUAL_IDENTIFIER_EXPANSION='⭐'
323323+ # typeset -g POWERLEVEL9K_DIR_WORK_FOREGROUND=31
324324+ # typeset -g POWERLEVEL9K_DIR_WORK_SHORTENED_FOREGROUND=103
325325+ # typeset -g POWERLEVEL9K_DIR_WORK_ANCHOR_FOREGROUND=39
326326+ #
327327+ # # Styling for WORK_NOT_WRITABLE.
328328+ # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_VISUAL_IDENTIFIER_EXPANSION='⭐'
329329+ # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_FOREGROUND=31
330330+ # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_SHORTENED_FOREGROUND=103
331331+ # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_ANCHOR_FOREGROUND=39
332332+ #
333333+ # # Styling for WORK_NON_EXISTENT.
334334+ # typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_VISUAL_IDENTIFIER_EXPANSION='⭐'
335335+ # typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_FOREGROUND=31
336336+ # typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_SHORTENED_FOREGROUND=103
337337+ # typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_ANCHOR_FOREGROUND=39
338338+ #
339339+ # If a styling parameter isn't explicitly defined for some class, it falls back to the classless
340340+ # parameter. For example, if POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_FOREGROUND is not set, it falls
341341+ # back to POWERLEVEL9K_DIR_FOREGROUND.
342342+ #
343343+ typeset -g POWERLEVEL9K_DIR_CLASSES=()
344344+345345+ # Custom prefix.
346346+ # typeset -g POWERLEVEL9K_DIR_PREFIX='%fin '
347347+348348+ #####################################[ vcs: git status ]######################################
349349+ # Branch icon. Set this parameter to '\UE0A0 ' for the popular Powerline branch icon.
350350+ typeset -g POWERLEVEL9K_VCS_BRANCH_ICON=
351351+352352+ # Untracked files icon. It's really a question mark, your font isn't broken.
353353+ # Change the value of this parameter to show a different icon.
354354+ typeset -g POWERLEVEL9K_VCS_UNTRACKED_ICON='?'
355355+356356+ # Formatter for Git status.
357357+ #
358358+ # Example output: master wip <42>42 *42 merge ~42 +42 !42 ?42.
359359+ #
360360+ # You can edit the function to customize how Git status looks.
361361+ #
362362+ # VCS_STATUS_* parameters are set by gitstatus plugin. See reference:
363363+ # https://github.com/romkatv/gitstatus/blob/master/gitstatus.plugin.zsh.
364364+ function my_git_formatter() {
365365+ emulate -L zsh
366366+367367+ if [[ -n $P9K_CONTENT ]]; then
368368+ # If P9K_CONTENT is not empty, use it. It's either "loading" or from vcs_info (not from
369369+ # gitstatus plugin). VCS_STATUS_* parameters are not available in this case.
370370+ typeset -g my_git_format=$P9K_CONTENT
371371+ return
372372+ fi
373373+374374+ if (( $1 )); then
375375+ # Styling for up-to-date Git status.
376376+ local meta='%f' # default foreground
377377+ local clean='%76F' # green foreground
378378+ local modified='%178F' # yellow foreground
379379+ local untracked='%39F' # blue foreground
380380+ local conflicted='%196F' # red foreground
381381+ else
382382+ # Styling for incomplete and stale Git status.
383383+ local meta='%244F' # grey foreground
384384+ local clean='%244F' # grey foreground
385385+ local modified='%244F' # grey foreground
386386+ local untracked='%244F' # grey foreground
387387+ local conflicted='%244F' # grey foreground
388388+ fi
389389+390390+ local res
391391+392392+ if [[ -n $VCS_STATUS_LOCAL_BRANCH ]]; then
393393+ local branch=${(V)VCS_STATUS_LOCAL_BRANCH}
394394+ # If local branch name is at most 32 characters long, show it in full.
395395+ # Otherwise show the first 12 .. the last 12.
396396+ # Tip: To always show local branch name in full without truncation, delete the next line.
397397+ (( $#branch > 32 )) && branch[13,-13]=".." # <-- this line
398398+ res+="${clean}${(g::)POWERLEVEL9K_VCS_BRANCH_ICON}${branch//\%/%%}"
399399+ fi
400400+401401+ if [[ -n $VCS_STATUS_TAG
402402+ # Show tag only if not on a branch.
403403+ # Tip: To always show tag, delete the next line.
404404+ && -z $VCS_STATUS_LOCAL_BRANCH # <-- this line
405405+ ]]; then
406406+ local tag=${(V)VCS_STATUS_TAG}
407407+ # If tag name is at most 32 characters long, show it in full.
408408+ # Otherwise show the first 12 .. the last 12.
409409+ # Tip: To always show tag name in full without truncation, delete the next line.
410410+ (( $#tag > 32 )) && tag[13,-13]=".." # <-- this line
411411+ res+="${meta}#${clean}${tag//\%/%%}"
412412+ fi
413413+414414+ # Display the current Git commit if there is no branch and no tag.
415415+ # Tip: To always display the current Git commit, delete the next line.
416416+ [[ -z $VCS_STATUS_LOCAL_BRANCH && -z $VCS_STATUS_TAG ]] && # <-- this line
417417+ res+="${meta}@${clean}${VCS_STATUS_COMMIT[1,8]}"
418418+419419+ # Show tracking branch name if it differs from local branch.
420420+ if [[ -n ${VCS_STATUS_REMOTE_BRANCH:#$VCS_STATUS_LOCAL_BRANCH} ]]; then
421421+ res+="${meta}:${clean}${(V)VCS_STATUS_REMOTE_BRANCH//\%/%%}"
422422+ fi
423423+424424+ # Display "wip" if the latest commit's summary contains "wip" or "WIP".
425425+ if [[ $VCS_STATUS_COMMIT_SUMMARY == (|*[^[:alnum:]])(wip|WIP)(|[^[:alnum:]]*) ]]; then
426426+ res+=" ${modified}wip"
427427+ fi
428428+429429+ if (( VCS_STATUS_COMMITS_AHEAD || VCS_STATUS_COMMITS_BEHIND )); then
430430+ # <42 if behind the remote.
431431+ (( VCS_STATUS_COMMITS_BEHIND )) && res+=" ${clean}<${VCS_STATUS_COMMITS_BEHIND}"
432432+ # >42 if ahead of the remote; no leading space if also behind the remote: <42>42.
433433+ (( VCS_STATUS_COMMITS_AHEAD && !VCS_STATUS_COMMITS_BEHIND )) && res+=" "
434434+ (( VCS_STATUS_COMMITS_AHEAD )) && res+="${clean}>${VCS_STATUS_COMMITS_AHEAD}"
435435+ elif [[ -n $VCS_STATUS_REMOTE_BRANCH ]]; then
436436+ # Tip: Uncomment the next line to display '=' if up to date with the remote.
437437+ # res+=" ${clean}="
438438+ fi
439439+440440+ # <-42 if behind the push remote.
441441+ (( VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" ${clean}<-${VCS_STATUS_PUSH_COMMITS_BEHIND}"
442442+ (( VCS_STATUS_PUSH_COMMITS_AHEAD && !VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" "
443443+ # ->42 if ahead of the push remote; no leading space if also behind: <-42->42.
444444+ (( VCS_STATUS_PUSH_COMMITS_AHEAD )) && res+="${clean}->${VCS_STATUS_PUSH_COMMITS_AHEAD}"
445445+ # *42 if have stashes.
446446+ (( VCS_STATUS_STASHES )) && res+=" ${clean}*${VCS_STATUS_STASHES}"
447447+ # 'merge' if the repo is in an unusual state.
448448+ [[ -n $VCS_STATUS_ACTION ]] && res+=" ${conflicted}${VCS_STATUS_ACTION}"
449449+ # ~42 if have merge conflicts.
450450+ (( VCS_STATUS_NUM_CONFLICTED )) && res+=" ${conflicted}~${VCS_STATUS_NUM_CONFLICTED}"
451451+ # +42 if have staged changes.
452452+ (( VCS_STATUS_NUM_STAGED )) && res+=" ${modified}+${VCS_STATUS_NUM_STAGED}"
453453+ # !42 if have unstaged changes.
454454+ (( VCS_STATUS_NUM_UNSTAGED )) && res+=" ${modified}!${VCS_STATUS_NUM_UNSTAGED}"
455455+ # ?42 if have untracked files. It's really a question mark, your font isn't broken.
456456+ # See POWERLEVEL9K_VCS_UNTRACKED_ICON above if you want to use a different icon.
457457+ # Remove the next line if you don't want to see untracked files at all.
458458+ (( VCS_STATUS_NUM_UNTRACKED )) && res+=" ${untracked}${(g::)POWERLEVEL9K_VCS_UNTRACKED_ICON}${VCS_STATUS_NUM_UNTRACKED}"
459459+ # "-" if the number of unstaged files is unknown. This can happen due to
460460+ # POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY (see below) being set to a non-negative number lower
461461+ # than the number of files in the Git index, or due to bash.showDirtyState being set to false
462462+ # in the repository config. The number of staged and untracked files may also be unknown
463463+ # in this case.
464464+ (( VCS_STATUS_HAS_UNSTAGED == -1 )) && res+=" ${modified}-"
465465+466466+ typeset -g my_git_format=$res
467467+ }
468468+ functions -M my_git_formatter 2>/dev/null
469469+470470+ # Don't count the number of unstaged, untracked and conflicted files in Git repositories with
471471+ # more than this many files in the index. Negative value means infinity.
472472+ #
473473+ # If you are working in Git repositories with tens of millions of files and seeing performance
474474+ # sagging, try setting POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY to a number lower than the output
475475+ # of `git ls-files | wc -l`. Alternatively, add `bash.showDirtyState = false` to the repository's
476476+ # config: `git config bash.showDirtyState false`.
477477+ typeset -g POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY=-1
478478+479479+ # Don't show Git status in prompt for repositories whose workdir matches this pattern.
480480+ # For example, if set to '~', the Git repository at $HOME/.git will be ignored.
481481+ # Multiple patterns can be combined with '|': '~(|/foo)|/bar/baz/*'.
482482+ typeset -g POWERLEVEL9K_VCS_DISABLED_WORKDIR_PATTERN='~'
483483+484484+ # Disable the default Git status formatting.
485485+ typeset -g POWERLEVEL9K_VCS_DISABLE_GITSTATUS_FORMATTING=true
486486+ # Install our own Git status formatter.
487487+ typeset -g POWERLEVEL9K_VCS_CONTENT_EXPANSION='${$((my_git_formatter(1)))+${my_git_format}}'
488488+ typeset -g POWERLEVEL9K_VCS_LOADING_CONTENT_EXPANSION='${$((my_git_formatter(0)))+${my_git_format}}'
489489+ # Enable counters for staged, unstaged, etc.
490490+ typeset -g POWERLEVEL9K_VCS_{STAGED,UNSTAGED,UNTRACKED,CONFLICTED,COMMITS_AHEAD,COMMITS_BEHIND}_MAX_NUM=-1
491491+492492+ # Icon color.
493493+ typeset -g POWERLEVEL9K_VCS_VISUAL_IDENTIFIER_COLOR=76
494494+ typeset -g POWERLEVEL9K_VCS_LOADING_VISUAL_IDENTIFIER_COLOR=244
495495+ # Custom icon.
496496+ typeset -g POWERLEVEL9K_VCS_VISUAL_IDENTIFIER_EXPANSION=
497497+ # Custom prefix.
498498+ # typeset -g POWERLEVEL9K_VCS_PREFIX='%fon '
499499+500500+ # Show status of repositories of these types. You can add svn and/or hg if you are
501501+ # using them. If you do, your prompt may become slow even when your current directory
502502+ # isn't in an svn or hg repository.
503503+ typeset -g POWERLEVEL9K_VCS_BACKENDS=(git)
504504+505505+ # These settings are used for repositories other than Git or when gitstatusd fails and
506506+ # Powerlevel10k has to fall back to using vcs_info.
507507+ typeset -g POWERLEVEL9K_VCS_CLEAN_FOREGROUND=76
508508+ typeset -g POWERLEVEL9K_VCS_UNTRACKED_FOREGROUND=76
509509+ typeset -g POWERLEVEL9K_VCS_MODIFIED_FOREGROUND=178
510510+511511+ ##########################[ status: exit code of the last command ]###########################
512512+ # Enable OK_PIPE, ERROR_PIPE and ERROR_SIGNAL status states to allow us to enable, disable and
513513+ # style them independently from the regular OK and ERROR state.
514514+ typeset -g POWERLEVEL9K_STATUS_EXTENDED_STATES=true
515515+516516+ # Status on success. No content, just an icon. No need to show it if prompt_char is enabled as
517517+ # it will signify success by turning green.
518518+ typeset -g POWERLEVEL9K_STATUS_OK=false
519519+ typeset -g POWERLEVEL9K_STATUS_OK_FOREGROUND=70
520520+ typeset -g POWERLEVEL9K_STATUS_OK_VISUAL_IDENTIFIER_EXPANSION='ok'
521521+522522+ # Status when some part of a pipe command fails but the overall exit status is zero. It may look
523523+ # like this: 1|0.
524524+ typeset -g POWERLEVEL9K_STATUS_OK_PIPE=true
525525+ typeset -g POWERLEVEL9K_STATUS_OK_PIPE_FOREGROUND=70
526526+ typeset -g POWERLEVEL9K_STATUS_OK_PIPE_VISUAL_IDENTIFIER_EXPANSION='ok'
527527+528528+ # Status when it's just an error code (e.g., '1'). No need to show it if prompt_char is enabled as
529529+ # it will signify error by turning red.
530530+ typeset -g POWERLEVEL9K_STATUS_ERROR=false
531531+ typeset -g POWERLEVEL9K_STATUS_ERROR_FOREGROUND=160
532532+ typeset -g POWERLEVEL9K_STATUS_ERROR_VISUAL_IDENTIFIER_EXPANSION='err'
533533+534534+ # Status when the last command was terminated by a signal.
535535+ typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL=true
536536+ typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL_FOREGROUND=160
537537+ # Use terse signal names: "INT" instead of "SIGINT(2)".
538538+ typeset -g POWERLEVEL9K_STATUS_VERBOSE_SIGNAME=false
539539+ typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL_VISUAL_IDENTIFIER_EXPANSION=
540540+541541+ # Status when some part of a pipe command fails and the overall exit status is also non-zero.
542542+ # It may look like this: 1|0.
543543+ typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE=true
544544+ typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_FOREGROUND=160
545545+ typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_VISUAL_IDENTIFIER_EXPANSION='err'
546546+547547+ ###################[ command_execution_time: duration of the last command ]###################
548548+ # Show duration of the last command if takes at least this many seconds.
549549+ typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_THRESHOLD=3
550550+ # Show this many fractional digits. Zero means round to seconds.
551551+ typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PRECISION=0
552552+ # Execution time color.
553553+ typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FOREGROUND=101
554554+ # Duration format: 1d 2h 3m 4s.
555555+ typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FORMAT='d h m s'
556556+ # Custom icon.
557557+ typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_VISUAL_IDENTIFIER_EXPANSION=
558558+ # Custom prefix.
559559+ # typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PREFIX='%ftook '
560560+561561+ #######################[ background_jobs: presence of background jobs ]#######################
562562+ # Don't show the number of background jobs.
563563+ typeset -g POWERLEVEL9K_BACKGROUND_JOBS_VERBOSE=false
564564+ # Background jobs color.
565565+ typeset -g POWERLEVEL9K_BACKGROUND_JOBS_FOREGROUND=70
566566+ # Custom icon.
567567+ # typeset -g POWERLEVEL9K_BACKGROUND_JOBS_VISUAL_IDENTIFIER_EXPANSION='⭐'
568568+569569+ #######################[ direnv: direnv status (https://direnv.net/) ]########################
570570+ # Direnv color.
571571+ typeset -g POWERLEVEL9K_DIRENV_FOREGROUND=178
572572+ # Custom icon.
573573+ # typeset -g POWERLEVEL9K_DIRENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
574574+575575+ ###############[ asdf: asdf version manager (https://github.com/asdf-vm/asdf) ]###############
576576+ # Default asdf color. Only used to display tools for which there is no color override (see below).
577577+ # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_FOREGROUND.
578578+ typeset -g POWERLEVEL9K_ASDF_FOREGROUND=66
579579+580580+ # There are four parameters that can be used to hide asdf tools. Each parameter describes
581581+ # conditions under which a tool gets hidden. Parameters can hide tools but not unhide them. If at
582582+ # least one parameter decides to hide a tool, that tool gets hidden. If no parameter decides to
583583+ # hide a tool, it gets shown.
584584+ #
585585+ # Special note on the difference between POWERLEVEL9K_ASDF_SOURCES and
586586+ # POWERLEVEL9K_ASDF_PROMPT_ALWAYS_SHOW. Consider the effect of the following commands:
587587+ #
588588+ # asdf local python 3.8.1
589589+ # asdf global python 3.8.1
590590+ #
591591+ # After running both commands the current python version is 3.8.1 and its source is "local" as
592592+ # it takes precedence over "global". If POWERLEVEL9K_ASDF_PROMPT_ALWAYS_SHOW is set to false,
593593+ # it'll hide python version in this case because 3.8.1 is the same as the global version.
594594+ # POWERLEVEL9K_ASDF_SOURCES will hide python version only if the value of this parameter doesn't
595595+ # contain "local".
596596+597597+ # Hide tool versions that don't come from one of these sources.
598598+ #
599599+ # Available sources:
600600+ #
601601+ # - shell `asdf current` says "set by ASDF_${TOOL}_VERSION environment variable"
602602+ # - local `asdf current` says "set by /some/not/home/directory/file"
603603+ # - global `asdf current` says "set by /home/username/file"
604604+ #
605605+ # Note: If this parameter is set to (shell local global), it won't hide tools.
606606+ # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_SOURCES.
607607+ typeset -g POWERLEVEL9K_ASDF_SOURCES=(shell local global)
608608+609609+ # If set to false, hide tool versions that are the same as global.
610610+ #
611611+ # Note: The name of this parameter doesn't reflect its meaning at all.
612612+ # Note: If this parameter is set to true, it won't hide tools.
613613+ # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_PROMPT_ALWAYS_SHOW.
614614+ typeset -g POWERLEVEL9K_ASDF_PROMPT_ALWAYS_SHOW=false
615615+616616+ # If set to false, hide tool versions that are equal to "system".
617617+ #
618618+ # Note: If this parameter is set to true, it won't hide tools.
619619+ # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_SHOW_SYSTEM.
620620+ typeset -g POWERLEVEL9K_ASDF_SHOW_SYSTEM=true
621621+622622+ # If set to non-empty value, hide tools unless there is a file matching the specified file pattern
623623+ # in the current directory, or its parent directory, or its grandparent directory, and so on.
624624+ #
625625+ # Note: If this parameter is set to empty value, it won't hide tools.
626626+ # Note: SHOW_ON_UPGLOB isn't specific to asdf. It works with all prompt segments.
627627+ # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_SHOW_ON_UPGLOB.
628628+ #
629629+ # Example: Hide nodejs version when there is no package.json and no *.js files in the current
630630+ # directory, in `..`, in `../..` and so on.
631631+ #
632632+ # typeset -g POWERLEVEL9K_ASDF_NODEJS_SHOW_ON_UPGLOB='*.js|package.json'
633633+ typeset -g POWERLEVEL9K_ASDF_SHOW_ON_UPGLOB=
634634+635635+ # Ruby version from asdf.
636636+ typeset -g POWERLEVEL9K_ASDF_RUBY_FOREGROUND=168
637637+ # typeset -g POWERLEVEL9K_ASDF_RUBY_VISUAL_IDENTIFIER_EXPANSION='⭐'
638638+ # typeset -g POWERLEVEL9K_ASDF_RUBY_SHOW_ON_UPGLOB='*.foo|*.bar'
639639+640640+ # Python version from asdf.
641641+ typeset -g POWERLEVEL9K_ASDF_PYTHON_FOREGROUND=37
642642+ # typeset -g POWERLEVEL9K_ASDF_PYTHON_VISUAL_IDENTIFIER_EXPANSION='⭐'
643643+ # typeset -g POWERLEVEL9K_ASDF_PYTHON_SHOW_ON_UPGLOB='*.foo|*.bar'
644644+645645+ # Go version from asdf.
646646+ typeset -g POWERLEVEL9K_ASDF_GOLANG_FOREGROUND=37
647647+ # typeset -g POWERLEVEL9K_ASDF_GOLANG_VISUAL_IDENTIFIER_EXPANSION='⭐'
648648+ # typeset -g POWERLEVEL9K_ASDF_GOLANG_SHOW_ON_UPGLOB='*.foo|*.bar'
649649+650650+ # Node.js version from asdf.
651651+ typeset -g POWERLEVEL9K_ASDF_NODEJS_FOREGROUND=70
652652+ # typeset -g POWERLEVEL9K_ASDF_NODEJS_VISUAL_IDENTIFIER_EXPANSION='⭐'
653653+ # typeset -g POWERLEVEL9K_ASDF_NODEJS_SHOW_ON_UPGLOB='*.foo|*.bar'
654654+655655+ # Rust version from asdf.
656656+ typeset -g POWERLEVEL9K_ASDF_RUST_FOREGROUND=37
657657+ # typeset -g POWERLEVEL9K_ASDF_RUST_VISUAL_IDENTIFIER_EXPANSION='⭐'
658658+ # typeset -g POWERLEVEL9K_ASDF_RUST_SHOW_ON_UPGLOB='*.foo|*.bar'
659659+660660+ # .NET Core version from asdf.
661661+ typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_FOREGROUND=134
662662+ # typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_VISUAL_IDENTIFIER_EXPANSION='⭐'
663663+ # typeset -g POWERLEVEL9K_ASDF_DOTNET_SHOW_ON_UPGLOB='*.foo|*.bar'
664664+665665+ # Flutter version from asdf.
666666+ typeset -g POWERLEVEL9K_ASDF_FLUTTER_FOREGROUND=38
667667+ # typeset -g POWERLEVEL9K_ASDF_FLUTTER_VISUAL_IDENTIFIER_EXPANSION='⭐'
668668+ # typeset -g POWERLEVEL9K_ASDF_FLUTTER_SHOW_ON_UPGLOB='*.foo|*.bar'
669669+670670+ # Lua version from asdf.
671671+ typeset -g POWERLEVEL9K_ASDF_LUA_FOREGROUND=32
672672+ # typeset -g POWERLEVEL9K_ASDF_LUA_VISUAL_IDENTIFIER_EXPANSION='⭐'
673673+ # typeset -g POWERLEVEL9K_ASDF_LUA_SHOW_ON_UPGLOB='*.foo|*.bar'
674674+675675+ # Java version from asdf.
676676+ typeset -g POWERLEVEL9K_ASDF_JAVA_FOREGROUND=32
677677+ # typeset -g POWERLEVEL9K_ASDF_JAVA_VISUAL_IDENTIFIER_EXPANSION='⭐'
678678+ # typeset -g POWERLEVEL9K_ASDF_JAVA_SHOW_ON_UPGLOB='*.foo|*.bar'
679679+680680+ # Perl version from asdf.
681681+ typeset -g POWERLEVEL9K_ASDF_PERL_FOREGROUND=67
682682+ # typeset -g POWERLEVEL9K_ASDF_PERL_VISUAL_IDENTIFIER_EXPANSION='⭐'
683683+ # typeset -g POWERLEVEL9K_ASDF_PERL_SHOW_ON_UPGLOB='*.foo|*.bar'
684684+685685+ # Erlang version from asdf.
686686+ typeset -g POWERLEVEL9K_ASDF_ERLANG_FOREGROUND=125
687687+ # typeset -g POWERLEVEL9K_ASDF_ERLANG_VISUAL_IDENTIFIER_EXPANSION='⭐'
688688+ # typeset -g POWERLEVEL9K_ASDF_ERLANG_SHOW_ON_UPGLOB='*.foo|*.bar'
689689+690690+ # Elixir version from asdf.
691691+ typeset -g POWERLEVEL9K_ASDF_ELIXIR_FOREGROUND=129
692692+ # typeset -g POWERLEVEL9K_ASDF_ELIXIR_VISUAL_IDENTIFIER_EXPANSION='⭐'
693693+ # typeset -g POWERLEVEL9K_ASDF_ELIXIR_SHOW_ON_UPGLOB='*.foo|*.bar'
694694+695695+ # Postgres version from asdf.
696696+ typeset -g POWERLEVEL9K_ASDF_POSTGRES_FOREGROUND=31
697697+ # typeset -g POWERLEVEL9K_ASDF_POSTGRES_VISUAL_IDENTIFIER_EXPANSION='⭐'
698698+ # typeset -g POWERLEVEL9K_ASDF_POSTGRES_SHOW_ON_UPGLOB='*.foo|*.bar'
699699+700700+ # PHP version from asdf.
701701+ typeset -g POWERLEVEL9K_ASDF_PHP_FOREGROUND=99
702702+ # typeset -g POWERLEVEL9K_ASDF_PHP_VISUAL_IDENTIFIER_EXPANSION='⭐'
703703+ # typeset -g POWERLEVEL9K_ASDF_PHP_SHOW_ON_UPGLOB='*.foo|*.bar'
704704+705705+ # Haskell version from asdf.
706706+ typeset -g POWERLEVEL9K_ASDF_HASKELL_FOREGROUND=172
707707+ # typeset -g POWERLEVEL9K_ASDF_HASKELL_VISUAL_IDENTIFIER_EXPANSION='⭐'
708708+ # typeset -g POWERLEVEL9K_ASDF_HASKELL_SHOW_ON_UPGLOB='*.foo|*.bar'
709709+710710+ # Julia version from asdf.
711711+ typeset -g POWERLEVEL9K_ASDF_JULIA_FOREGROUND=70
712712+ # typeset -g POWERLEVEL9K_ASDF_JULIA_VISUAL_IDENTIFIER_EXPANSION='⭐'
713713+ # typeset -g POWERLEVEL9K_ASDF_JULIA_SHOW_ON_UPGLOB='*.foo|*.bar'
714714+715715+ ##########[ nordvpn: nordvpn connection status, linux only (https://nordvpn.com/) ]###########
716716+ # NordVPN connection indicator color.
717717+ typeset -g POWERLEVEL9K_NORDVPN_FOREGROUND=39
718718+ # Hide NordVPN connection indicator when not connected.
719719+ typeset -g POWERLEVEL9K_NORDVPN_{DISCONNECTED,CONNECTING,DISCONNECTING}_CONTENT_EXPANSION=
720720+ typeset -g POWERLEVEL9K_NORDVPN_{DISCONNECTED,CONNECTING,DISCONNECTING}_VISUAL_IDENTIFIER_EXPANSION=
721721+ # Custom icon.
722722+ # typeset -g POWERLEVEL9K_NORDVPN_VISUAL_IDENTIFIER_EXPANSION='⭐'
723723+724724+ #################[ ranger: ranger shell (https://github.com/ranger/ranger) ]##################
725725+ # Ranger shell color.
726726+ typeset -g POWERLEVEL9K_RANGER_FOREGROUND=178
727727+ # Custom icon.
728728+ # typeset -g POWERLEVEL9K_RANGER_VISUAL_IDENTIFIER_EXPANSION='⭐'
729729+730730+ ####################[ yazi: yazi shell (https://github.com/sxyazi/yazi) ]#####################
731731+ # Yazi shell color.
732732+ typeset -g POWERLEVEL9K_YAZI_FOREGROUND=178
733733+ # Custom icon.
734734+ # typeset -g POWERLEVEL9K_YAZI_VISUAL_IDENTIFIER_EXPANSION='⭐'
735735+736736+ ######################[ nnn: nnn shell (https://github.com/jarun/nnn) ]#######################
737737+ # Nnn shell color.
738738+ typeset -g POWERLEVEL9K_NNN_FOREGROUND=72
739739+ # Custom icon.
740740+ # typeset -g POWERLEVEL9K_NNN_VISUAL_IDENTIFIER_EXPANSION='⭐'
741741+742742+ ######################[ lf: lf shell (https://github.com/gokcehan/lf) ]#######################
743743+ # lf shell color.
744744+ typeset -g POWERLEVEL9K_LF_FOREGROUND=72
745745+ # Custom icon.
746746+ # typeset -g POWERLEVEL9K_LF_VISUAL_IDENTIFIER_EXPANSION='⭐'
747747+748748+ ##################[ xplr: xplr shell (https://github.com/sayanarijit/xplr) ]##################
749749+ # xplr shell color.
750750+ typeset -g POWERLEVEL9K_XPLR_FOREGROUND=72
751751+ # Custom icon.
752752+ # typeset -g POWERLEVEL9K_XPLR_VISUAL_IDENTIFIER_EXPANSION='⭐'
753753+754754+ ###########################[ vim_shell: vim shell indicator (:sh) ]###########################
755755+ # Vim shell indicator color.
756756+ typeset -g POWERLEVEL9K_VIM_SHELL_FOREGROUND=34
757757+ # Custom icon.
758758+ # typeset -g POWERLEVEL9K_VIM_SHELL_VISUAL_IDENTIFIER_EXPANSION='⭐'
759759+760760+ ######[ midnight_commander: midnight commander shell (https://midnight-commander.org/) ]######
761761+ # Midnight Commander shell color.
762762+ typeset -g POWERLEVEL9K_MIDNIGHT_COMMANDER_FOREGROUND=178
763763+ # Custom icon.
764764+ # typeset -g POWERLEVEL9K_MIDNIGHT_COMMANDER_VISUAL_IDENTIFIER_EXPANSION='⭐'
765765+766766+ #[ nix_shell: nix shell (https://nixos.org/nixos/nix-pills/developing-with-nix-shell.html) ]##
767767+ # Nix shell color.
768768+ typeset -g POWERLEVEL9K_NIX_SHELL_FOREGROUND=74
769769+770770+ # Display the icon of nix_shell if PATH contains a subdirectory of /nix/store.
771771+ # typeset -g POWERLEVEL9K_NIX_SHELL_INFER_FROM_PATH=false
772772+773773+ # Tip: If you want to see just the icon without "pure" and "impure", uncomment the next line.
774774+ # typeset -g POWERLEVEL9K_NIX_SHELL_CONTENT_EXPANSION=
775775+776776+ # Custom icon.
777777+ # typeset -g POWERLEVEL9K_NIX_SHELL_VISUAL_IDENTIFIER_EXPANSION='⭐'
778778+779779+ ##################[ chezmoi_shell: chezmoi shell (https://www.chezmoi.io/) ]##################
780780+ # chezmoi shell color.
781781+ typeset -g POWERLEVEL9K_CHEZMOI_SHELL_FOREGROUND=33
782782+ # Custom icon.
783783+ # typeset -g POWERLEVEL9K_CHEZMOI_SHELL_VISUAL_IDENTIFIER_EXPANSION='⭐'
784784+785785+ ##################################[ disk_usage: disk usage ]##################################
786786+ # Colors for different levels of disk usage.
787787+ typeset -g POWERLEVEL9K_DISK_USAGE_NORMAL_FOREGROUND=35
788788+ typeset -g POWERLEVEL9K_DISK_USAGE_WARNING_FOREGROUND=220
789789+ typeset -g POWERLEVEL9K_DISK_USAGE_CRITICAL_FOREGROUND=160
790790+ # Thresholds for different levels of disk usage (percentage points).
791791+ typeset -g POWERLEVEL9K_DISK_USAGE_WARNING_LEVEL=90
792792+ typeset -g POWERLEVEL9K_DISK_USAGE_CRITICAL_LEVEL=95
793793+ # If set to true, hide disk usage when below $POWERLEVEL9K_DISK_USAGE_WARNING_LEVEL percent.
794794+ typeset -g POWERLEVEL9K_DISK_USAGE_ONLY_WARNING=false
795795+ # Custom icon.
796796+ # typeset -g POWERLEVEL9K_DISK_USAGE_VISUAL_IDENTIFIER_EXPANSION='⭐'
797797+798798+ ######################################[ ram: free RAM ]#######################################
799799+ # RAM color.
800800+ typeset -g POWERLEVEL9K_RAM_FOREGROUND=66
801801+ # Custom icon.
802802+ # typeset -g POWERLEVEL9K_RAM_VISUAL_IDENTIFIER_EXPANSION='⭐'
803803+804804+ #####################################[ swap: used swap ]######################################
805805+ # Swap color.
806806+ typeset -g POWERLEVEL9K_SWAP_FOREGROUND=96
807807+ # Custom icon.
808808+ # typeset -g POWERLEVEL9K_SWAP_VISUAL_IDENTIFIER_EXPANSION='⭐'
809809+810810+ ######################################[ load: CPU load ]######################################
811811+ # Show average CPU load over this many last minutes. Valid values are 1, 5 and 15.
812812+ typeset -g POWERLEVEL9K_LOAD_WHICH=5
813813+ # Load color when load is under 50%.
814814+ typeset -g POWERLEVEL9K_LOAD_NORMAL_FOREGROUND=66
815815+ # Load color when load is between 50% and 70%.
816816+ typeset -g POWERLEVEL9K_LOAD_WARNING_FOREGROUND=178
817817+ # Load color when load is over 70%.
818818+ typeset -g POWERLEVEL9K_LOAD_CRITICAL_FOREGROUND=166
819819+ # Custom icon.
820820+ # typeset -g POWERLEVEL9K_LOAD_VISUAL_IDENTIFIER_EXPANSION='⭐'
821821+822822+ ################[ todo: todo items (https://github.com/todotxt/todo.txt-cli) ]################
823823+ # Todo color.
824824+ typeset -g POWERLEVEL9K_TODO_FOREGROUND=110
825825+ # Hide todo when the total number of tasks is zero.
826826+ typeset -g POWERLEVEL9K_TODO_HIDE_ZERO_TOTAL=true
827827+ # Hide todo when the number of tasks after filtering is zero.
828828+ typeset -g POWERLEVEL9K_TODO_HIDE_ZERO_FILTERED=false
829829+830830+ # Todo format. The following parameters are available within the expansion.
831831+ #
832832+ # - P9K_TODO_TOTAL_TASK_COUNT The total number of tasks.
833833+ # - P9K_TODO_FILTERED_TASK_COUNT The number of tasks after filtering.
834834+ #
835835+ # These variables correspond to the last line of the output of `todo.sh -p ls`:
836836+ #
837837+ # TODO: 24 of 42 tasks shown
838838+ #
839839+ # Here 24 is P9K_TODO_FILTERED_TASK_COUNT and 42 is P9K_TODO_TOTAL_TASK_COUNT.
840840+ #
841841+ # typeset -g POWERLEVEL9K_TODO_CONTENT_EXPANSION='$P9K_TODO_FILTERED_TASK_COUNT'
842842+843843+ # Custom icon.
844844+ # typeset -g POWERLEVEL9K_TODO_VISUAL_IDENTIFIER_EXPANSION='⭐'
845845+846846+ ###########[ timewarrior: timewarrior tracking status (https://timewarrior.net/) ]############
847847+ # Timewarrior color.
848848+ typeset -g POWERLEVEL9K_TIMEWARRIOR_FOREGROUND=110
849849+ # If the tracked task is longer than 24 characters, truncate and append "..".
850850+ # Tip: To always display tasks without truncation, delete the following parameter.
851851+ # Tip: To hide task names and display just the icon when time tracking is enabled, set the
852852+ # value of the following parameter to "".
853853+ typeset -g POWERLEVEL9K_TIMEWARRIOR_CONTENT_EXPANSION='${P9K_CONTENT:0:24}${${P9K_CONTENT:24}:+..}'
854854+855855+ # Custom icon.
856856+ # typeset -g POWERLEVEL9K_TIMEWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐'
857857+858858+ ##############[ taskwarrior: taskwarrior task count (https://taskwarrior.org/) ]##############
859859+ # Taskwarrior color.
860860+ typeset -g POWERLEVEL9K_TASKWARRIOR_FOREGROUND=74
861861+862862+ # Taskwarrior segment format. The following parameters are available within the expansion.
863863+ #
864864+ # - P9K_TASKWARRIOR_PENDING_COUNT The number of pending tasks: `task +PENDING count`.
865865+ # - P9K_TASKWARRIOR_OVERDUE_COUNT The number of overdue tasks: `task +OVERDUE count`.
866866+ #
867867+ # Zero values are represented as empty parameters.
868868+ #
869869+ # The default format:
870870+ #
871871+ # '${P9K_TASKWARRIOR_OVERDUE_COUNT:+"!$P9K_TASKWARRIOR_OVERDUE_COUNT/"}$P9K_TASKWARRIOR_PENDING_COUNT'
872872+ #
873873+ # typeset -g POWERLEVEL9K_TASKWARRIOR_CONTENT_EXPANSION='$P9K_TASKWARRIOR_PENDING_COUNT'
874874+875875+ # Custom icon.
876876+ # typeset -g POWERLEVEL9K_TASKWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐'
877877+878878+ ######[ per_directory_history: Oh My Zsh per-directory-history local/global indicator ]#######
879879+ # Color when using local/global history.
880880+ typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_LOCAL_FOREGROUND=135
881881+ typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_GLOBAL_FOREGROUND=130
882882+883883+ # Tip: Uncomment the next two lines to hide "local"/"global" text and leave just the icon.
884884+ # typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_LOCAL_CONTENT_EXPANSION=''
885885+ # typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_GLOBAL_CONTENT_EXPANSION=''
886886+887887+ # Custom icon.
888888+ # typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_LOCAL_VISUAL_IDENTIFIER_EXPANSION='⭐'
889889+ # typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_GLOBAL_VISUAL_IDENTIFIER_EXPANSION='⭐'
890890+891891+ ################################[ cpu_arch: CPU architecture ]################################
892892+ # CPU architecture color.
893893+ typeset -g POWERLEVEL9K_CPU_ARCH_FOREGROUND=172
894894+895895+ # Hide the segment when on a specific CPU architecture.
896896+ # typeset -g POWERLEVEL9K_CPU_ARCH_X86_64_CONTENT_EXPANSION=
897897+ # typeset -g POWERLEVEL9K_CPU_ARCH_X86_64_VISUAL_IDENTIFIER_EXPANSION=
898898+899899+ # Custom icon.
900900+ # typeset -g POWERLEVEL9K_CPU_ARCH_VISUAL_IDENTIFIER_EXPANSION='⭐'
901901+902902+ ##################################[ context: user@hostname ]##################################
903903+ # Context color when running with privileges.
904904+ typeset -g POWERLEVEL9K_CONTEXT_ROOT_FOREGROUND=178
905905+ # Context color in SSH without privileges.
906906+ typeset -g POWERLEVEL9K_CONTEXT_{REMOTE,REMOTE_SUDO}_FOREGROUND=180
907907+ # Default context color (no privileges, no SSH).
908908+ typeset -g POWERLEVEL9K_CONTEXT_FOREGROUND=180
909909+910910+ # Context format when running with privileges: bold user@hostname.
911911+ typeset -g POWERLEVEL9K_CONTEXT_ROOT_TEMPLATE='%B%n@%m'
912912+ # Context format when in SSH without privileges: user@hostname.
913913+ typeset -g POWERLEVEL9K_CONTEXT_{REMOTE,REMOTE_SUDO}_TEMPLATE='%n@%m'
914914+ # Default context format (no privileges, no SSH): user@hostname.
915915+ typeset -g POWERLEVEL9K_CONTEXT_TEMPLATE='%n@%m'
916916+917917+ # Don't show context unless running with privileges or in SSH.
918918+ # Tip: Remove the next line to always show context.
919919+ typeset -g POWERLEVEL9K_CONTEXT_{DEFAULT,SUDO}_{CONTENT,VISUAL_IDENTIFIER}_EXPANSION=
920920+921921+ # Custom icon.
922922+ # typeset -g POWERLEVEL9K_CONTEXT_VISUAL_IDENTIFIER_EXPANSION='⭐'
923923+ # Custom prefix.
924924+ # typeset -g POWERLEVEL9K_CONTEXT_PREFIX='%fwith '
925925+926926+ ###[ virtualenv: python virtual environment (https://docs.python.org/3/library/venv.html) ]###
927927+ # Python virtual environment color.
928928+ typeset -g POWERLEVEL9K_VIRTUALENV_FOREGROUND=37
929929+ # Don't show Python version next to the virtual environment name.
930930+ typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_PYTHON_VERSION=false
931931+ # If set to "false", won't show virtualenv if pyenv is already shown.
932932+ # If set to "if-different", won't show virtualenv if it's the same as pyenv.
933933+ typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_WITH_PYENV=false
934934+ # Separate environment name from Python version only with a space.
935935+ typeset -g POWERLEVEL9K_VIRTUALENV_{LEFT,RIGHT}_DELIMITER=
936936+ # Custom icon.
937937+ # typeset -g POWERLEVEL9K_VIRTUALENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
938938+939939+ #####################[ anaconda: conda environment (https://conda.io/) ]######################
940940+ # Anaconda environment color.
941941+ typeset -g POWERLEVEL9K_ANACONDA_FOREGROUND=37
942942+943943+ # Anaconda segment format. The following parameters are available within the expansion.
944944+ #
945945+ # - CONDA_PREFIX Absolute path to the active Anaconda/Miniconda environment.
946946+ # - CONDA_DEFAULT_ENV Name of the active Anaconda/Miniconda environment.
947947+ # - CONDA_PROMPT_MODIFIER Configurable prompt modifier (see below).
948948+ # - P9K_ANACONDA_PYTHON_VERSION Current python version (python --version).
949949+ #
950950+ # CONDA_PROMPT_MODIFIER can be configured with the following command:
951951+ #
952952+ # conda config --set env_prompt '({default_env}) '
953953+ #
954954+ # The last argument is a Python format string that can use the following variables:
955955+ #
956956+ # - prefix The same as CONDA_PREFIX.
957957+ # - default_env The same as CONDA_DEFAULT_ENV.
958958+ # - name The last segment of CONDA_PREFIX.
959959+ # - stacked_env Comma-separated list of names in the environment stack. The first element is
960960+ # always the same as default_env.
961961+ #
962962+ # Note: '({default_env}) ' is the default value of env_prompt.
963963+ #
964964+ # The default value of POWERLEVEL9K_ANACONDA_CONTENT_EXPANSION expands to $CONDA_PROMPT_MODIFIER
965965+ # without the surrounding parentheses, or to the last path component of CONDA_PREFIX if the former
966966+ # is empty.
967967+ typeset -g POWERLEVEL9K_ANACONDA_CONTENT_EXPANSION='${${${${CONDA_PROMPT_MODIFIER#\(}% }%\)}:-${CONDA_PREFIX:t}}'
968968+969969+ # Custom icon.
970970+ # typeset -g POWERLEVEL9K_ANACONDA_VISUAL_IDENTIFIER_EXPANSION='⭐'
971971+972972+ ################[ pyenv: python environment (https://github.com/pyenv/pyenv) ]################
973973+ # Pyenv color.
974974+ typeset -g POWERLEVEL9K_PYENV_FOREGROUND=37
975975+ # Hide python version if it doesn't come from one of these sources.
976976+ typeset -g POWERLEVEL9K_PYENV_SOURCES=(shell local global)
977977+ # If set to false, hide python version if it's the same as global:
978978+ # $(pyenv version-name) == $(pyenv global).
979979+ typeset -g POWERLEVEL9K_PYENV_PROMPT_ALWAYS_SHOW=false
980980+ # If set to false, hide python version if it's equal to "system".
981981+ typeset -g POWERLEVEL9K_PYENV_SHOW_SYSTEM=true
982982+983983+ # Pyenv segment format. The following parameters are available within the expansion.
984984+ #
985985+ # - P9K_CONTENT Current pyenv environment (pyenv version-name).
986986+ # - P9K_PYENV_PYTHON_VERSION Current python version (python --version).
987987+ #
988988+ # The default format has the following logic:
989989+ #
990990+ # 1. Display just "$P9K_CONTENT" if it's equal to "$P9K_PYENV_PYTHON_VERSION" or
991991+ # starts with "$P9K_PYENV_PYTHON_VERSION/".
992992+ # 2. Otherwise display "$P9K_CONTENT $P9K_PYENV_PYTHON_VERSION".
993993+ typeset -g POWERLEVEL9K_PYENV_CONTENT_EXPANSION='${P9K_CONTENT}${${P9K_CONTENT:#$P9K_PYENV_PYTHON_VERSION(|/*)}:+ $P9K_PYENV_PYTHON_VERSION}'
994994+995995+ # Custom icon.
996996+ # typeset -g POWERLEVEL9K_PYENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
997997+998998+ ################[ goenv: go environment (https://github.com/syndbg/goenv) ]################
999999+ # Goenv color.
10001000+ typeset -g POWERLEVEL9K_GOENV_FOREGROUND=37
10011001+ # Hide go version if it doesn't come from one of these sources.
10021002+ typeset -g POWERLEVEL9K_GOENV_SOURCES=(shell local global)
10031003+ # If set to false, hide go version if it's the same as global:
10041004+ # $(goenv version-name) == $(goenv global).
10051005+ typeset -g POWERLEVEL9K_GOENV_PROMPT_ALWAYS_SHOW=false
10061006+ # If set to false, hide go version if it's equal to "system".
10071007+ typeset -g POWERLEVEL9K_GOENV_SHOW_SYSTEM=true
10081008+ # Custom icon.
10091009+ # typeset -g POWERLEVEL9K_GOENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
10101010+10111011+ ##########[ nodenv: node.js version from nodenv (https://github.com/nodenv/nodenv) ]##########
10121012+ # Nodenv color.
10131013+ typeset -g POWERLEVEL9K_NODENV_FOREGROUND=70
10141014+ # Hide node version if it doesn't come from one of these sources.
10151015+ typeset -g POWERLEVEL9K_NODENV_SOURCES=(shell local global)
10161016+ # If set to false, hide node version if it's the same as global:
10171017+ # $(nodenv version-name) == $(nodenv global).
10181018+ typeset -g POWERLEVEL9K_NODENV_PROMPT_ALWAYS_SHOW=false
10191019+ # If set to false, hide node version if it's equal to "system".
10201020+ typeset -g POWERLEVEL9K_NODENV_SHOW_SYSTEM=true
10211021+ # Custom icon.
10221022+ # typeset -g POWERLEVEL9K_NODENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
10231023+10241024+ ##############[ nvm: node.js version from nvm (https://github.com/nvm-sh/nvm) ]###############
10251025+ # Nvm color.
10261026+ typeset -g POWERLEVEL9K_NVM_FOREGROUND=70
10271027+ # If set to false, hide node version if it's the same as default:
10281028+ # $(nvm version current) == $(nvm version default).
10291029+ typeset -g POWERLEVEL9K_NVM_PROMPT_ALWAYS_SHOW=false
10301030+ # If set to false, hide node version if it's equal to "system".
10311031+ typeset -g POWERLEVEL9K_NVM_SHOW_SYSTEM=true
10321032+ # Custom icon.
10331033+ # typeset -g POWERLEVEL9K_NVM_VISUAL_IDENTIFIER_EXPANSION='⭐'
10341034+10351035+ ############[ nodeenv: node.js environment (https://github.com/ekalinin/nodeenv) ]############
10361036+ # Nodeenv color.
10371037+ typeset -g POWERLEVEL9K_NODEENV_FOREGROUND=70
10381038+ # Don't show Node version next to the environment name.
10391039+ typeset -g POWERLEVEL9K_NODEENV_SHOW_NODE_VERSION=false
10401040+ # Separate environment name from Node version only with a space.
10411041+ typeset -g POWERLEVEL9K_NODEENV_{LEFT,RIGHT}_DELIMITER=
10421042+ # Custom icon.
10431043+ # typeset -g POWERLEVEL9K_NODEENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
10441044+10451045+ ##############################[ node_version: node.js version ]###############################
10461046+ # Node version color.
10471047+ typeset -g POWERLEVEL9K_NODE_VERSION_FOREGROUND=70
10481048+ # Show node version only when in a directory tree containing package.json.
10491049+ typeset -g POWERLEVEL9K_NODE_VERSION_PROJECT_ONLY=true
10501050+ # Custom icon.
10511051+ # typeset -g POWERLEVEL9K_NODE_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐'
10521052+10531053+ #######################[ go_version: go version (https://golang.org) ]########################
10541054+ # Go version color.
10551055+ typeset -g POWERLEVEL9K_GO_VERSION_FOREGROUND=37
10561056+ # Show go version only when in a go project subdirectory.
10571057+ typeset -g POWERLEVEL9K_GO_VERSION_PROJECT_ONLY=true
10581058+ # Custom icon.
10591059+ # typeset -g POWERLEVEL9K_GO_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐'
10601060+10611061+ #################[ rust_version: rustc version (https://www.rust-lang.org) ]##################
10621062+ # Rust version color.
10631063+ typeset -g POWERLEVEL9K_RUST_VERSION_FOREGROUND=37
10641064+ # Show rust version only when in a rust project subdirectory.
10651065+ typeset -g POWERLEVEL9K_RUST_VERSION_PROJECT_ONLY=true
10661066+ # Custom icon.
10671067+ # typeset -g POWERLEVEL9K_RUST_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐'
10681068+10691069+ ###############[ dotnet_version: .NET version (https://dotnet.microsoft.com) ]################
10701070+ # .NET version color.
10711071+ typeset -g POWERLEVEL9K_DOTNET_VERSION_FOREGROUND=134
10721072+ # Show .NET version only when in a .NET project subdirectory.
10731073+ typeset -g POWERLEVEL9K_DOTNET_VERSION_PROJECT_ONLY=true
10741074+ # Custom icon.
10751075+ # typeset -g POWERLEVEL9K_DOTNET_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐'
10761076+10771077+ #####################[ php_version: php version (https://www.php.net/) ]######################
10781078+ # PHP version color.
10791079+ typeset -g POWERLEVEL9K_PHP_VERSION_FOREGROUND=99
10801080+ # Show PHP version only when in a PHP project subdirectory.
10811081+ typeset -g POWERLEVEL9K_PHP_VERSION_PROJECT_ONLY=true
10821082+ # Custom icon.
10831083+ # typeset -g POWERLEVEL9K_PHP_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐'
10841084+10851085+ ##########[ laravel_version: laravel php framework version (https://laravel.com/) ]###########
10861086+ # Laravel version color.
10871087+ typeset -g POWERLEVEL9K_LARAVEL_VERSION_FOREGROUND=161
10881088+ # Custom icon.
10891089+ # typeset -g POWERLEVEL9K_LARAVEL_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐'
10901090+10911091+ ####################[ java_version: java version (https://www.java.com/) ]####################
10921092+ # Java version color.
10931093+ typeset -g POWERLEVEL9K_JAVA_VERSION_FOREGROUND=32
10941094+ # Show java version only when in a java project subdirectory.
10951095+ typeset -g POWERLEVEL9K_JAVA_VERSION_PROJECT_ONLY=true
10961096+ # Show brief version.
10971097+ typeset -g POWERLEVEL9K_JAVA_VERSION_FULL=false
10981098+ # Custom icon.
10991099+ # typeset -g POWERLEVEL9K_JAVA_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐'
11001100+11011101+ ###[ package: name@version from package.json (https://docs.npmjs.com/files/package.json) ]####
11021102+ # Package color.
11031103+ typeset -g POWERLEVEL9K_PACKAGE_FOREGROUND=117
11041104+ # Package format. The following parameters are available within the expansion.
11051105+ #
11061106+ # - P9K_PACKAGE_NAME The value of `name` field in package.json.
11071107+ # - P9K_PACKAGE_VERSION The value of `version` field in package.json.
11081108+ #
11091109+ # typeset -g POWERLEVEL9K_PACKAGE_CONTENT_EXPANSION='${P9K_PACKAGE_NAME//\%/%%}@${P9K_PACKAGE_VERSION//\%/%%}'
11101110+ # Custom icon.
11111111+ # typeset -g POWERLEVEL9K_PACKAGE_VISUAL_IDENTIFIER_EXPANSION='⭐'
11121112+11131113+ #############[ rbenv: ruby version from rbenv (https://github.com/rbenv/rbenv) ]##############
11141114+ # Rbenv color.
11151115+ typeset -g POWERLEVEL9K_RBENV_FOREGROUND=168
11161116+ # Hide ruby version if it doesn't come from one of these sources.
11171117+ typeset -g POWERLEVEL9K_RBENV_SOURCES=(shell local global)
11181118+ # If set to false, hide ruby version if it's the same as global:
11191119+ # $(rbenv version-name) == $(rbenv global).
11201120+ typeset -g POWERLEVEL9K_RBENV_PROMPT_ALWAYS_SHOW=false
11211121+ # If set to false, hide ruby version if it's equal to "system".
11221122+ typeset -g POWERLEVEL9K_RBENV_SHOW_SYSTEM=true
11231123+ # Custom icon.
11241124+ # typeset -g POWERLEVEL9K_RBENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
11251125+11261126+ #######################[ rvm: ruby version from rvm (https://rvm.io) ]########################
11271127+ # Rvm color.
11281128+ typeset -g POWERLEVEL9K_RVM_FOREGROUND=168
11291129+ # Don't show @gemset at the end.
11301130+ typeset -g POWERLEVEL9K_RVM_SHOW_GEMSET=false
11311131+ # Don't show ruby- at the front.
11321132+ typeset -g POWERLEVEL9K_RVM_SHOW_PREFIX=false
11331133+ # Custom icon.
11341134+ # typeset -g POWERLEVEL9K_RVM_VISUAL_IDENTIFIER_EXPANSION='⭐'
11351135+11361136+ ###########[ fvm: flutter version management (https://github.com/leoafarias/fvm) ]############
11371137+ # Fvm color.
11381138+ typeset -g POWERLEVEL9K_FVM_FOREGROUND=38
11391139+ # Custom icon.
11401140+ # typeset -g POWERLEVEL9K_FVM_VISUAL_IDENTIFIER_EXPANSION='⭐'
11411141+11421142+ ##########[ luaenv: lua version from luaenv (https://github.com/cehoffman/luaenv) ]###########
11431143+ # Lua color.
11441144+ typeset -g POWERLEVEL9K_LUAENV_FOREGROUND=32
11451145+ # Hide lua version if it doesn't come from one of these sources.
11461146+ typeset -g POWERLEVEL9K_LUAENV_SOURCES=(shell local global)
11471147+ # If set to false, hide lua version if it's the same as global:
11481148+ # $(luaenv version-name) == $(luaenv global).
11491149+ typeset -g POWERLEVEL9K_LUAENV_PROMPT_ALWAYS_SHOW=false
11501150+ # If set to false, hide lua version if it's equal to "system".
11511151+ typeset -g POWERLEVEL9K_LUAENV_SHOW_SYSTEM=true
11521152+ # Custom icon.
11531153+ # typeset -g POWERLEVEL9K_LUAENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
11541154+11551155+ ###############[ jenv: java version from jenv (https://github.com/jenv/jenv) ]################
11561156+ # Java color.
11571157+ typeset -g POWERLEVEL9K_JENV_FOREGROUND=32
11581158+ # Hide java version if it doesn't come from one of these sources.
11591159+ typeset -g POWERLEVEL9K_JENV_SOURCES=(shell local global)
11601160+ # If set to false, hide java version if it's the same as global:
11611161+ # $(jenv version-name) == $(jenv global).
11621162+ typeset -g POWERLEVEL9K_JENV_PROMPT_ALWAYS_SHOW=false
11631163+ # If set to false, hide java version if it's equal to "system".
11641164+ typeset -g POWERLEVEL9K_JENV_SHOW_SYSTEM=true
11651165+ # Custom icon.
11661166+ # typeset -g POWERLEVEL9K_JENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
11671167+11681168+ ###########[ plenv: perl version from plenv (https://github.com/tokuhirom/plenv) ]############
11691169+ # Perl color.
11701170+ typeset -g POWERLEVEL9K_PLENV_FOREGROUND=67
11711171+ # Hide perl version if it doesn't come from one of these sources.
11721172+ typeset -g POWERLEVEL9K_PLENV_SOURCES=(shell local global)
11731173+ # If set to false, hide perl version if it's the same as global:
11741174+ # $(plenv version-name) == $(plenv global).
11751175+ typeset -g POWERLEVEL9K_PLENV_PROMPT_ALWAYS_SHOW=false
11761176+ # If set to false, hide perl version if it's equal to "system".
11771177+ typeset -g POWERLEVEL9K_PLENV_SHOW_SYSTEM=true
11781178+ # Custom icon.
11791179+ # typeset -g POWERLEVEL9K_PLENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
11801180+11811181+ ###########[ perlbrew: perl version from perlbrew (https://github.com/gugod/App-perlbrew) ]############
11821182+ # Perlbrew color.
11831183+ typeset -g POWERLEVEL9K_PERLBREW_FOREGROUND=67
11841184+ # Show perlbrew version only when in a perl project subdirectory.
11851185+ typeset -g POWERLEVEL9K_PERLBREW_PROJECT_ONLY=true
11861186+ # Don't show "perl-" at the front.
11871187+ typeset -g POWERLEVEL9K_PERLBREW_SHOW_PREFIX=false
11881188+ # Custom icon.
11891189+ # typeset -g POWERLEVEL9K_PERLBREW_VISUAL_IDENTIFIER_EXPANSION='⭐'
11901190+11911191+ ############[ phpenv: php version from phpenv (https://github.com/phpenv/phpenv) ]############
11921192+ # PHP color.
11931193+ typeset -g POWERLEVEL9K_PHPENV_FOREGROUND=99
11941194+ # Hide php version if it doesn't come from one of these sources.
11951195+ typeset -g POWERLEVEL9K_PHPENV_SOURCES=(shell local global)
11961196+ # If set to false, hide php version if it's the same as global:
11971197+ # $(phpenv version-name) == $(phpenv global).
11981198+ typeset -g POWERLEVEL9K_PHPENV_PROMPT_ALWAYS_SHOW=false
11991199+ # If set to false, hide php version if it's equal to "system".
12001200+ typeset -g POWERLEVEL9K_PHPENV_SHOW_SYSTEM=true
12011201+ # Custom icon.
12021202+ # typeset -g POWERLEVEL9K_PHPENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
12031203+12041204+ #######[ scalaenv: scala version from scalaenv (https://github.com/scalaenv/scalaenv) ]#######
12051205+ # Scala color.
12061206+ typeset -g POWERLEVEL9K_SCALAENV_FOREGROUND=160
12071207+ # Hide scala version if it doesn't come from one of these sources.
12081208+ typeset -g POWERLEVEL9K_SCALAENV_SOURCES=(shell local global)
12091209+ # If set to false, hide scala version if it's the same as global:
12101210+ # $(scalaenv version-name) == $(scalaenv global).
12111211+ typeset -g POWERLEVEL9K_SCALAENV_PROMPT_ALWAYS_SHOW=false
12121212+ # If set to false, hide scala version if it's equal to "system".
12131213+ typeset -g POWERLEVEL9K_SCALAENV_SHOW_SYSTEM=true
12141214+ # Custom icon.
12151215+ # typeset -g POWERLEVEL9K_SCALAENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
12161216+12171217+ ##########[ haskell_stack: haskell version from stack (https://haskellstack.org/) ]###########
12181218+ # Haskell color.
12191219+ typeset -g POWERLEVEL9K_HASKELL_STACK_FOREGROUND=172
12201220+ # Hide haskell version if it doesn't come from one of these sources.
12211221+ #
12221222+ # shell: version is set by STACK_YAML
12231223+ # local: version is set by stack.yaml up the directory tree
12241224+ # global: version is set by the implicit global project (~/.stack/global-project/stack.yaml)
12251225+ typeset -g POWERLEVEL9K_HASKELL_STACK_SOURCES=(shell local)
12261226+ # If set to false, hide haskell version if it's the same as in the implicit global project.
12271227+ typeset -g POWERLEVEL9K_HASKELL_STACK_ALWAYS_SHOW=true
12281228+ # Custom icon.
12291229+ # typeset -g POWERLEVEL9K_HASKELL_STACK_VISUAL_IDENTIFIER_EXPANSION='⭐'
12301230+12311231+ #############[ kubecontext: current kubernetes context (https://kubernetes.io/) ]#############
12321232+ # Show kubecontext only when the command you are typing invokes one of these tools.
12331233+ # Tip: Remove the next line to always show kubecontext.
12341234+ typeset -g POWERLEVEL9K_KUBECONTEXT_SHOW_ON_COMMAND='kubectl|helm|kubens|kubectx|oc|istioctl|kogito|k9s|helmfile|flux|fluxctl|stern|kubeseal|skaffold|kubent|kubecolor|cmctl|sparkctl'
12351235+12361236+ # Kubernetes context classes for the purpose of using different colors, icons and expansions with
12371237+ # different contexts.
12381238+ #
12391239+ # POWERLEVEL9K_KUBECONTEXT_CLASSES is an array with even number of elements. The first element
12401240+ # in each pair defines a pattern against which the current kubernetes context gets matched.
12411241+ # More specifically, it's P9K_CONTENT prior to the application of context expansion (see below)
12421242+ # that gets matched. If you unset all POWERLEVEL9K_KUBECONTEXT_*CONTENT_EXPANSION parameters,
12431243+ # you'll see this value in your prompt. The second element of each pair in
12441244+ # POWERLEVEL9K_KUBECONTEXT_CLASSES defines the context class. Patterns are tried in order. The
12451245+ # first match wins.
12461246+ #
12471247+ # For example, given these settings:
12481248+ #
12491249+ # typeset -g POWERLEVEL9K_KUBECONTEXT_CLASSES=(
12501250+ # '*prod*' PROD
12511251+ # '*test*' TEST
12521252+ # '*' DEFAULT)
12531253+ #
12541254+ # If your current kubernetes context is "deathray-testing/default", its class is TEST
12551255+ # because "deathray-testing/default" doesn't match the pattern '*prod*' but does match '*test*'.
12561256+ #
12571257+ # You can define different colors, icons and content expansions for different classes:
12581258+ #
12591259+ # typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_FOREGROUND=28
12601260+ # typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐'
12611261+ # typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <'
12621262+ typeset -g POWERLEVEL9K_KUBECONTEXT_CLASSES=(
12631263+ # '*prod*' PROD # These values are examples that are unlikely
12641264+ # '*test*' TEST # to match your needs. Customize them as needed.
12651265+ '*' DEFAULT)
12661266+ typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_FOREGROUND=134
12671267+ # typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐'
12681268+12691269+ # Use POWERLEVEL9K_KUBECONTEXT_CONTENT_EXPANSION to specify the content displayed by kubecontext
12701270+ # segment. Parameter expansions are very flexible and fast, too. See reference:
12711271+ # http://zsh.sourceforge.net/Doc/Release/Expansion.html#Parameter-Expansion.
12721272+ #
12731273+ # Within the expansion the following parameters are always available:
12741274+ #
12751275+ # - P9K_CONTENT The content that would've been displayed if there was no content
12761276+ # expansion defined.
12771277+ # - P9K_KUBECONTEXT_NAME The current context's name. Corresponds to column NAME in the
12781278+ # output of `kubectl config get-contexts`.
12791279+ # - P9K_KUBECONTEXT_CLUSTER The current context's cluster. Corresponds to column CLUSTER in the
12801280+ # output of `kubectl config get-contexts`.
12811281+ # - P9K_KUBECONTEXT_NAMESPACE The current context's namespace. Corresponds to column NAMESPACE
12821282+ # in the output of `kubectl config get-contexts`. If there is no
12831283+ # namespace, the parameter is set to "default".
12841284+ # - P9K_KUBECONTEXT_USER The current context's user. Corresponds to column AUTHINFO in the
12851285+ # output of `kubectl config get-contexts`.
12861286+ #
12871287+ # If the context points to Google Kubernetes Engine (GKE) or Elastic Kubernetes Service (EKS),
12881288+ # the following extra parameters are available:
12891289+ #
12901290+ # - P9K_KUBECONTEXT_CLOUD_NAME Either "gke" or "eks".
12911291+ # - P9K_KUBECONTEXT_CLOUD_ACCOUNT Account/project ID.
12921292+ # - P9K_KUBECONTEXT_CLOUD_ZONE Availability zone.
12931293+ # - P9K_KUBECONTEXT_CLOUD_CLUSTER Cluster.
12941294+ #
12951295+ # P9K_KUBECONTEXT_CLOUD_* parameters are derived from P9K_KUBECONTEXT_CLUSTER. For example,
12961296+ # if P9K_KUBECONTEXT_CLUSTER is "gke_my-account_us-east1-a_my-cluster-01":
12971297+ #
12981298+ # - P9K_KUBECONTEXT_CLOUD_NAME=gke
12991299+ # - P9K_KUBECONTEXT_CLOUD_ACCOUNT=my-account
13001300+ # - P9K_KUBECONTEXT_CLOUD_ZONE=us-east1-a
13011301+ # - P9K_KUBECONTEXT_CLOUD_CLUSTER=my-cluster-01
13021302+ #
13031303+ # If P9K_KUBECONTEXT_CLUSTER is "arn:aws:eks:us-east-1:123456789012:cluster/my-cluster-01":
13041304+ #
13051305+ # - P9K_KUBECONTEXT_CLOUD_NAME=eks
13061306+ # - P9K_KUBECONTEXT_CLOUD_ACCOUNT=123456789012
13071307+ # - P9K_KUBECONTEXT_CLOUD_ZONE=us-east-1
13081308+ # - P9K_KUBECONTEXT_CLOUD_CLUSTER=my-cluster-01
13091309+ typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION=
13101310+ # Show P9K_KUBECONTEXT_CLOUD_CLUSTER if it's not empty and fall back to P9K_KUBECONTEXT_NAME.
13111311+ POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION+='${P9K_KUBECONTEXT_CLOUD_CLUSTER:-${P9K_KUBECONTEXT_NAME}}'
13121312+ # Append the current context's namespace if it's not "default".
13131313+ POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION+='${${:-/$P9K_KUBECONTEXT_NAMESPACE}:#/default}'
13141314+13151315+ # Custom prefix.
13161316+ # typeset -g POWERLEVEL9K_KUBECONTEXT_PREFIX='%fat '
13171317+13181318+ ################[ terraform: terraform workspace (https://www.terraform.io) ]#################
13191319+ # Don't show terraform workspace if it's literally "default".
13201320+ typeset -g POWERLEVEL9K_TERRAFORM_SHOW_DEFAULT=false
13211321+ # POWERLEVEL9K_TERRAFORM_CLASSES is an array with even number of elements. The first element
13221322+ # in each pair defines a pattern against which the current terraform workspace gets matched.
13231323+ # More specifically, it's P9K_CONTENT prior to the application of context expansion (see below)
13241324+ # that gets matched. If you unset all POWERLEVEL9K_TERRAFORM_*CONTENT_EXPANSION parameters,
13251325+ # you'll see this value in your prompt. The second element of each pair in
13261326+ # POWERLEVEL9K_TERRAFORM_CLASSES defines the workspace class. Patterns are tried in order. The
13271327+ # first match wins.
13281328+ #
13291329+ # For example, given these settings:
13301330+ #
13311331+ # typeset -g POWERLEVEL9K_TERRAFORM_CLASSES=(
13321332+ # '*prod*' PROD
13331333+ # '*test*' TEST
13341334+ # '*' OTHER)
13351335+ #
13361336+ # If your current terraform workspace is "project_test", its class is TEST because "project_test"
13371337+ # doesn't match the pattern '*prod*' but does match '*test*'.
13381338+ #
13391339+ # You can define different colors, icons and content expansions for different classes:
13401340+ #
13411341+ # typeset -g POWERLEVEL9K_TERRAFORM_TEST_FOREGROUND=28
13421342+ # typeset -g POWERLEVEL9K_TERRAFORM_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐'
13431343+ # typeset -g POWERLEVEL9K_TERRAFORM_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <'
13441344+ typeset -g POWERLEVEL9K_TERRAFORM_CLASSES=(
13451345+ # '*prod*' PROD # These values are examples that are unlikely
13461346+ # '*test*' TEST # to match your needs. Customize them as needed.
13471347+ '*' OTHER)
13481348+ typeset -g POWERLEVEL9K_TERRAFORM_OTHER_FOREGROUND=38
13491349+ # typeset -g POWERLEVEL9K_TERRAFORM_OTHER_VISUAL_IDENTIFIER_EXPANSION='⭐'
13501350+13511351+ #############[ terraform_version: terraform version (https://www.terraform.io) ]##############
13521352+ # Terraform version color.
13531353+ typeset -g POWERLEVEL9K_TERRAFORM_VERSION_FOREGROUND=38
13541354+ # Custom icon.
13551355+ # typeset -g POWERLEVEL9K_TERRAFORM_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐'
13561356+13571357+ #[ aws: aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) ]#
13581358+ # Show aws only when the command you are typing invokes one of these tools.
13591359+ # Tip: Remove the next line to always show aws.
13601360+ typeset -g POWERLEVEL9K_AWS_SHOW_ON_COMMAND='aws|awless|cdk|terraform|pulumi|terragrunt'
13611361+13621362+ # POWERLEVEL9K_AWS_CLASSES is an array with even number of elements. The first element
13631363+ # in each pair defines a pattern against which the current AWS profile gets matched.
13641364+ # More specifically, it's P9K_CONTENT prior to the application of context expansion (see below)
13651365+ # that gets matched. If you unset all POWERLEVEL9K_AWS_*CONTENT_EXPANSION parameters,
13661366+ # you'll see this value in your prompt. The second element of each pair in
13671367+ # POWERLEVEL9K_AWS_CLASSES defines the profile class. Patterns are tried in order. The
13681368+ # first match wins.
13691369+ #
13701370+ # For example, given these settings:
13711371+ #
13721372+ # typeset -g POWERLEVEL9K_AWS_CLASSES=(
13731373+ # '*prod*' PROD
13741374+ # '*test*' TEST
13751375+ # '*' DEFAULT)
13761376+ #
13771377+ # If your current AWS profile is "company_test", its class is TEST
13781378+ # because "company_test" doesn't match the pattern '*prod*' but does match '*test*'.
13791379+ #
13801380+ # You can define different colors, icons and content expansions for different classes:
13811381+ #
13821382+ # typeset -g POWERLEVEL9K_AWS_TEST_FOREGROUND=28
13831383+ # typeset -g POWERLEVEL9K_AWS_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐'
13841384+ # typeset -g POWERLEVEL9K_AWS_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <'
13851385+ typeset -g POWERLEVEL9K_AWS_CLASSES=(
13861386+ # '*prod*' PROD # These values are examples that are unlikely
13871387+ # '*test*' TEST # to match your needs. Customize them as needed.
13881388+ '*' DEFAULT)
13891389+ typeset -g POWERLEVEL9K_AWS_DEFAULT_FOREGROUND=208
13901390+ # typeset -g POWERLEVEL9K_AWS_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐'
13911391+13921392+ # AWS segment format. The following parameters are available within the expansion.
13931393+ #
13941394+ # - P9K_AWS_PROFILE The name of the current AWS profile.
13951395+ # - P9K_AWS_REGION The region associated with the current AWS profile.
13961396+ typeset -g POWERLEVEL9K_AWS_CONTENT_EXPANSION='${P9K_AWS_PROFILE//\%/%%}${P9K_AWS_REGION:+ ${P9K_AWS_REGION//\%/%%}}'
13971397+13981398+ #[ aws_eb_env: aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/) ]#
13991399+ # AWS Elastic Beanstalk environment color.
14001400+ typeset -g POWERLEVEL9K_AWS_EB_ENV_FOREGROUND=70
14011401+ # Custom icon.
14021402+ # typeset -g POWERLEVEL9K_AWS_EB_ENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
14031403+14041404+ ##########[ azure: azure account name (https://docs.microsoft.com/en-us/cli/azure) ]##########
14051405+ # Show azure only when the command you are typing invokes one of these tools.
14061406+ # Tip: Remove the next line to always show azure.
14071407+ typeset -g POWERLEVEL9K_AZURE_SHOW_ON_COMMAND='az|terraform|pulumi|terragrunt'
14081408+14091409+ # POWERLEVEL9K_AZURE_CLASSES is an array with even number of elements. The first element
14101410+ # in each pair defines a pattern against which the current azure account name gets matched.
14111411+ # More specifically, it's P9K_CONTENT prior to the application of context expansion (see below)
14121412+ # that gets matched. If you unset all POWERLEVEL9K_AZURE_*CONTENT_EXPANSION parameters,
14131413+ # you'll see this value in your prompt. The second element of each pair in
14141414+ # POWERLEVEL9K_AZURE_CLASSES defines the account class. Patterns are tried in order. The
14151415+ # first match wins.
14161416+ #
14171417+ # For example, given these settings:
14181418+ #
14191419+ # typeset -g POWERLEVEL9K_AZURE_CLASSES=(
14201420+ # '*prod*' PROD
14211421+ # '*test*' TEST
14221422+ # '*' OTHER)
14231423+ #
14241424+ # If your current azure account is "company_test", its class is TEST because "company_test"
14251425+ # doesn't match the pattern '*prod*' but does match '*test*'.
14261426+ #
14271427+ # You can define different colors, icons and content expansions for different classes:
14281428+ #
14291429+ # typeset -g POWERLEVEL9K_AZURE_TEST_FOREGROUND=28
14301430+ # typeset -g POWERLEVEL9K_AZURE_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐'
14311431+ # typeset -g POWERLEVEL9K_AZURE_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <'
14321432+ typeset -g POWERLEVEL9K_AZURE_CLASSES=(
14331433+ # '*prod*' PROD # These values are examples that are unlikely
14341434+ # '*test*' TEST # to match your needs. Customize them as needed.
14351435+ '*' OTHER)
14361436+14371437+ # Azure account name color.
14381438+ typeset -g POWERLEVEL9K_AZURE_OTHER_FOREGROUND=32
14391439+ # Custom icon.
14401440+ # typeset -g POWERLEVEL9K_AZURE_OTHER_VISUAL_IDENTIFIER_EXPANSION='⭐'
14411441+14421442+ ##########[ gcloud: google cloud account and project (https://cloud.google.com/) ]###########
14431443+ # Show gcloud only when the command you are typing invokes one of these tools.
14441444+ # Tip: Remove the next line to always show gcloud.
14451445+ typeset -g POWERLEVEL9K_GCLOUD_SHOW_ON_COMMAND='gcloud|gcs|gsutil'
14461446+ # Google cloud color.
14471447+ typeset -g POWERLEVEL9K_GCLOUD_FOREGROUND=32
14481448+14491449+ # Google cloud format. Change the value of POWERLEVEL9K_GCLOUD_PARTIAL_CONTENT_EXPANSION and/or
14501450+ # POWERLEVEL9K_GCLOUD_COMPLETE_CONTENT_EXPANSION if the default is too verbose or not informative
14511451+ # enough. You can use the following parameters in the expansions. Each of them corresponds to the
14521452+ # output of `gcloud` tool.
14531453+ #
14541454+ # Parameter | Source
14551455+ # -------------------------|--------------------------------------------------------------------
14561456+ # P9K_GCLOUD_CONFIGURATION | gcloud config configurations list --format='value(name)'
14571457+ # P9K_GCLOUD_ACCOUNT | gcloud config get-value account
14581458+ # P9K_GCLOUD_PROJECT_ID | gcloud config get-value project
14591459+ # P9K_GCLOUD_PROJECT_NAME | gcloud projects describe $P9K_GCLOUD_PROJECT_ID --format='value(name)'
14601460+ #
14611461+ # Note: ${VARIABLE//\%/%%} expands to ${VARIABLE} with all occurrences of '%' replaced with '%%'.
14621462+ #
14631463+ # Obtaining project name requires sending a request to Google servers. This can take a long time
14641464+ # and even fail. When project name is unknown, P9K_GCLOUD_PROJECT_NAME is not set and gcloud
14651465+ # prompt segment is in state PARTIAL. When project name gets known, P9K_GCLOUD_PROJECT_NAME gets
14661466+ # set and gcloud prompt segment transitions to state COMPLETE.
14671467+ #
14681468+ # You can customize the format, icon and colors of gcloud segment separately for states PARTIAL
14691469+ # and COMPLETE. You can also hide gcloud in state PARTIAL by setting
14701470+ # POWERLEVEL9K_GCLOUD_PARTIAL_VISUAL_IDENTIFIER_EXPANSION and
14711471+ # POWERLEVEL9K_GCLOUD_PARTIAL_CONTENT_EXPANSION to empty.
14721472+ typeset -g POWERLEVEL9K_GCLOUD_PARTIAL_CONTENT_EXPANSION='${P9K_GCLOUD_PROJECT_ID//\%/%%}'
14731473+ typeset -g POWERLEVEL9K_GCLOUD_COMPLETE_CONTENT_EXPANSION='${P9K_GCLOUD_PROJECT_NAME//\%/%%}'
14741474+14751475+ # Send a request to Google (by means of `gcloud projects describe ...`) to obtain project name
14761476+ # this often. Negative value disables periodic polling. In this mode project name is retrieved
14771477+ # only when the current configuration, account or project id changes.
14781478+ typeset -g POWERLEVEL9K_GCLOUD_REFRESH_PROJECT_NAME_SECONDS=60
14791479+14801480+ # Custom icon.
14811481+ # typeset -g POWERLEVEL9K_GCLOUD_VISUAL_IDENTIFIER_EXPANSION='⭐'
14821482+14831483+ #[ google_app_cred: google application credentials (https://cloud.google.com/docs/authentication/production) ]#
14841484+ # Show google_app_cred only when the command you are typing invokes one of these tools.
14851485+ # Tip: Remove the next line to always show google_app_cred.
14861486+ typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_SHOW_ON_COMMAND='terraform|pulumi|terragrunt'
14871487+14881488+ # Google application credentials classes for the purpose of using different colors, icons and
14891489+ # expansions with different credentials.
14901490+ #
14911491+ # POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES is an array with even number of elements. The first
14921492+ # element in each pair defines a pattern against which the current kubernetes context gets
14931493+ # matched. More specifically, it's P9K_CONTENT prior to the application of context expansion
14941494+ # (see below) that gets matched. If you unset all POWERLEVEL9K_GOOGLE_APP_CRED_*CONTENT_EXPANSION
14951495+ # parameters, you'll see this value in your prompt. The second element of each pair in
14961496+ # POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES defines the context class. Patterns are tried in order.
14971497+ # The first match wins.
14981498+ #
14991499+ # For example, given these settings:
15001500+ #
15011501+ # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES=(
15021502+ # '*:*prod*:*' PROD
15031503+ # '*:*test*:*' TEST
15041504+ # '*' DEFAULT)
15051505+ #
15061506+ # If your current Google application credentials is "service_account deathray-testing x@y.com",
15071507+ # its class is TEST because it doesn't match the pattern '* *prod* *' but does match '* *test* *'.
15081508+ #
15091509+ # You can define different colors, icons and content expansions for different classes:
15101510+ #
15111511+ # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_TEST_FOREGROUND=28
15121512+ # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐'
15131513+ # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_TEST_CONTENT_EXPANSION='$P9K_GOOGLE_APP_CRED_PROJECT_ID'
15141514+ typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES=(
15151515+ # '*:*prod*:*' PROD # These values are examples that are unlikely
15161516+ # '*:*test*:*' TEST # to match your needs. Customize them as needed.
15171517+ '*' DEFAULT)
15181518+ typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_FOREGROUND=32
15191519+ # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐'
15201520+15211521+ # Use POWERLEVEL9K_GOOGLE_APP_CRED_CONTENT_EXPANSION to specify the content displayed by
15221522+ # google_app_cred segment. Parameter expansions are very flexible and fast, too. See reference:
15231523+ # http://zsh.sourceforge.net/Doc/Release/Expansion.html#Parameter-Expansion.
15241524+ #
15251525+ # You can use the following parameters in the expansion. Each of them corresponds to one of the
15261526+ # fields in the JSON file pointed to by GOOGLE_APPLICATION_CREDENTIALS.
15271527+ #
15281528+ # Parameter | JSON key file field
15291529+ # ---------------------------------+---------------
15301530+ # P9K_GOOGLE_APP_CRED_TYPE | type
15311531+ # P9K_GOOGLE_APP_CRED_PROJECT_ID | project_id
15321532+ # P9K_GOOGLE_APP_CRED_CLIENT_EMAIL | client_email
15331533+ #
15341534+ # Note: ${VARIABLE//\%/%%} expands to ${VARIABLE} with all occurrences of '%' replaced by '%%'.
15351535+ typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_CONTENT_EXPANSION='${P9K_GOOGLE_APP_CRED_PROJECT_ID//\%/%%}'
15361536+15371537+ ##############[ toolbox: toolbox name (https://github.com/containers/toolbox) ]###############
15381538+ # Toolbox color.
15391539+ typeset -g POWERLEVEL9K_TOOLBOX_FOREGROUND=178
15401540+ # Don't display the name of the toolbox if it matches fedora-toolbox-*.
15411541+ typeset -g POWERLEVEL9K_TOOLBOX_CONTENT_EXPANSION='${P9K_TOOLBOX_NAME:#fedora-toolbox-*}'
15421542+ # Custom icon.
15431543+ # typeset -g POWERLEVEL9K_TOOLBOX_VISUAL_IDENTIFIER_EXPANSION='⭐'
15441544+ # Custom prefix.
15451545+ # typeset -g POWERLEVEL9K_TOOLBOX_PREFIX='%fin '
15461546+15471547+ ###############################[ public_ip: public IP address ]###############################
15481548+ # Public IP color.
15491549+ typeset -g POWERLEVEL9K_PUBLIC_IP_FOREGROUND=94
15501550+ # Custom icon.
15511551+ # typeset -g POWERLEVEL9K_PUBLIC_IP_VISUAL_IDENTIFIER_EXPANSION='⭐'
15521552+15531553+ ########################[ vpn_ip: virtual private network indicator ]#########################
15541554+ # VPN IP color.
15551555+ typeset -g POWERLEVEL9K_VPN_IP_FOREGROUND=81
15561556+ # When on VPN, show just an icon without the IP address.
15571557+ # Tip: To display the private IP address when on VPN, remove the next line.
15581558+ typeset -g POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION=
15591559+ # Regular expression for the VPN network interface. Run `ifconfig` or `ip -4 a show` while on VPN
15601560+ # to see the name of the interface.
15611561+ typeset -g POWERLEVEL9K_VPN_IP_INTERFACE='(gpd|wg|(.*tun)|tailscale)[0-9]*|(zt.*)'
15621562+ # If set to true, show one segment per matching network interface. If set to false, show only
15631563+ # one segment corresponding to the first matching network interface.
15641564+ # Tip: If you set it to true, you'll probably want to unset POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION.
15651565+ typeset -g POWERLEVEL9K_VPN_IP_SHOW_ALL=false
15661566+ # Custom icon.
15671567+ # typeset -g POWERLEVEL9K_VPN_IP_VISUAL_IDENTIFIER_EXPANSION='⭐'
15681568+15691569+ ###########[ ip: ip address and bandwidth usage for a specified network interface ]###########
15701570+ # IP color.
15711571+ typeset -g POWERLEVEL9K_IP_FOREGROUND=38
15721572+ # The following parameters are accessible within the expansion:
15731573+ #
15741574+ # Parameter | Meaning
15751575+ # ----------------------+-------------------------------------------
15761576+ # P9K_IP_IP | IP address
15771577+ # P9K_IP_INTERFACE | network interface
15781578+ # P9K_IP_RX_BYTES | total number of bytes received
15791579+ # P9K_IP_TX_BYTES | total number of bytes sent
15801580+ # P9K_IP_RX_BYTES_DELTA | number of bytes received since last prompt
15811581+ # P9K_IP_TX_BYTES_DELTA | number of bytes sent since last prompt
15821582+ # P9K_IP_RX_RATE | receive rate (since last prompt)
15831583+ # P9K_IP_TX_RATE | send rate (since last prompt)
15841584+ typeset -g POWERLEVEL9K_IP_CONTENT_EXPANSION='$P9K_IP_IP${P9K_IP_RX_RATE:+ %70F<$P9K_IP_RX_RATE}${P9K_IP_TX_RATE:+ %215F>$P9K_IP_TX_RATE}'
15851585+ # Show information for the first network interface whose name matches this regular expression.
15861586+ # Run `ifconfig` or `ip -4 a show` to see the names of all network interfaces.
15871587+ typeset -g POWERLEVEL9K_IP_INTERFACE='[ew].*'
15881588+ # Custom icon.
15891589+ # typeset -g POWERLEVEL9K_IP_VISUAL_IDENTIFIER_EXPANSION='⭐'
15901590+15911591+ #########################[ proxy: system-wide http/https/ftp proxy ]##########################
15921592+ # Proxy color.
15931593+ typeset -g POWERLEVEL9K_PROXY_FOREGROUND=68
15941594+ # Custom icon.
15951595+ # typeset -g POWERLEVEL9K_PROXY_VISUAL_IDENTIFIER_EXPANSION='⭐'
15961596+15971597+ ################################[ battery: internal battery ]#################################
15981598+ # Show battery in red when it's below this level and not connected to power supply.
15991599+ typeset -g POWERLEVEL9K_BATTERY_LOW_THRESHOLD=20
16001600+ typeset -g POWERLEVEL9K_BATTERY_LOW_FOREGROUND=160
16011601+ # Show battery in green when it's charging or fully charged.
16021602+ typeset -g POWERLEVEL9K_BATTERY_{CHARGING,CHARGED}_FOREGROUND=70
16031603+ # Show battery in yellow when it's discharging.
16041604+ typeset -g POWERLEVEL9K_BATTERY_DISCONNECTED_FOREGROUND=178
16051605+ # Battery pictograms going from low to high level of charge.
16061606+ typeset -g POWERLEVEL9K_BATTERY_STAGES=('battery')
16071607+ # Don't show the remaining time to charge/discharge.
16081608+ typeset -g POWERLEVEL9K_BATTERY_VERBOSE=false
16091609+16101610+ #####################################[ wifi: wifi speed ]#####################################
16111611+ # WiFi color.
16121612+ typeset -g POWERLEVEL9K_WIFI_FOREGROUND=68
16131613+ # Custom icon.
16141614+ # typeset -g POWERLEVEL9K_WIFI_VISUAL_IDENTIFIER_EXPANSION='⭐'
16151615+16161616+ # Use different colors and icons depending on signal strength ($P9K_WIFI_BARS).
16171617+ #
16181618+ # # Wifi colors and icons for different signal strength levels (low to high).
16191619+ # typeset -g my_wifi_fg=(68 68 68 68 68) # <-- change these values
16201620+ # typeset -g my_wifi_icon=('WiFi' 'WiFi' 'WiFi' 'WiFi' 'WiFi') # <-- change these values
16211621+ #
16221622+ # typeset -g POWERLEVEL9K_WIFI_CONTENT_EXPANSION='%F{${my_wifi_fg[P9K_WIFI_BARS+1]}}$P9K_WIFI_LAST_TX_RATE Mbps'
16231623+ # typeset -g POWERLEVEL9K_WIFI_VISUAL_IDENTIFIER_EXPANSION='%F{${my_wifi_fg[P9K_WIFI_BARS+1]}}${my_wifi_icon[P9K_WIFI_BARS+1]}'
16241624+ #
16251625+ # The following parameters are accessible within the expansions:
16261626+ #
16271627+ # Parameter | Meaning
16281628+ # ----------------------+---------------
16291629+ # P9K_WIFI_SSID | service set identifier, a.k.a. network name
16301630+ # P9K_WIFI_LINK_AUTH | authentication protocol such as "wpa2-psk" or "none"; empty if unknown
16311631+ # P9K_WIFI_LAST_TX_RATE | wireless transmit rate in megabits per second
16321632+ # P9K_WIFI_RSSI | signal strength in dBm, from -120 to 0
16331633+ # P9K_WIFI_NOISE | noise in dBm, from -120 to 0
16341634+ # P9K_WIFI_BARS | signal strength in bars, from 0 to 4 (derived from P9K_WIFI_RSSI and P9K_WIFI_NOISE)
16351635+16361636+ ####################################[ time: current time ]####################################
16371637+ # Current time color.
16381638+ typeset -g POWERLEVEL9K_TIME_FOREGROUND=66
16391639+ # Format for the current time: 09:51:02. See `man 3 strftime`.
16401640+ typeset -g POWERLEVEL9K_TIME_FORMAT='%D{%H:%M:%S}'
16411641+ # If set to true, time will update when you hit enter. This way prompts for the past
16421642+ # commands will contain the start times of their commands as opposed to the default
16431643+ # behavior where they contain the end times of their preceding commands.
16441644+ typeset -g POWERLEVEL9K_TIME_UPDATE_ON_COMMAND=false
16451645+ # Custom icon.
16461646+ typeset -g POWERLEVEL9K_TIME_VISUAL_IDENTIFIER_EXPANSION=
16471647+ # Custom prefix.
16481648+ # typeset -g POWERLEVEL9K_TIME_PREFIX='%fat '
16491649+16501650+ # Example of a user-defined prompt segment. Function prompt_example will be called on every
16511651+ # prompt if `example` prompt segment is added to POWERLEVEL9K_LEFT_PROMPT_ELEMENTS or
16521652+ # POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS. It displays an icon and orange text greeting the user.
16531653+ #
16541654+ # Type `p10k help segment` for documentation and a more sophisticated example.
16551655+ function prompt_example() {
16561656+ p10k segment -f 208 -i '*' -t 'hello, %n'
16571657+ }
16581658+16591659+ # User-defined prompt segments may optionally provide an instant_prompt_* function. Its job
16601660+ # is to generate the prompt segment for display in instant prompt. See
16611661+ # https://github.com/romkatv/powerlevel10k#instant-prompt.
16621662+ #
16631663+ # Powerlevel10k will call instant_prompt_* at the same time as the regular prompt_* function
16641664+ # and will record all `p10k segment` calls it makes. When displaying instant prompt, Powerlevel10k
16651665+ # will replay these calls without actually calling instant_prompt_*. It is imperative that
16661666+ # instant_prompt_* always makes the same `p10k segment` calls regardless of environment. If this
16671667+ # rule is not observed, the content of instant prompt will be incorrect.
16681668+ #
16691669+ # Usually, you should either not define instant_prompt_* or simply call prompt_* from it. If
16701670+ # instant_prompt_* is not defined for a segment, the segment won't be shown in instant prompt.
16711671+ function instant_prompt_example() {
16721672+ # Since prompt_example always makes the same `p10k segment` calls, we can call it from
16731673+ # instant_prompt_example. This will give us the same `example` prompt segment in the instant
16741674+ # and regular prompts.
16751675+ prompt_example
16761676+ }
16771677+16781678+ # User-defined prompt segments can be customized the same way as built-in segments.
16791679+ # typeset -g POWERLEVEL9K_EXAMPLE_FOREGROUND=208
16801680+ # typeset -g POWERLEVEL9K_EXAMPLE_VISUAL_IDENTIFIER_EXPANSION='⭐'
16811681+16821682+ # Transient prompt works similarly to the builtin transient_rprompt option. It trims down prompt
16831683+ # when accepting a command line. Supported values:
16841684+ #
16851685+ # - off: Don't change prompt when accepting a command line.
16861686+ # - always: Trim down prompt when accepting a command line.
16871687+ # - same-dir: Trim down prompt when accepting a command line unless this is the first command
16881688+ # typed after changing current working directory.
16891689+ typeset -g POWERLEVEL9K_TRANSIENT_PROMPT=always
16901690+16911691+ # Instant prompt mode.
16921692+ #
16931693+ # - off: Disable instant prompt. Choose this if you've tried instant prompt and found
16941694+ # it incompatible with your zsh configuration files.
16951695+ # - quiet: Enable instant prompt and don't print warnings when detecting console output
16961696+ # during zsh initialization. Choose this if you've read and understood
16971697+ # https://github.com/romkatv/powerlevel10k#instant-prompt.
16981698+ # - verbose: Enable instant prompt and print a warning when detecting console output during
16991699+ # zsh initialization. Choose this if you've never tried instant prompt, haven't
17001700+ # seen the warning, or if you are unsure what this all means.
17011701+ typeset -g POWERLEVEL9K_INSTANT_PROMPT=verbose
17021702+17031703+ # Hot reload allows you to change POWERLEVEL9K options after Powerlevel10k has been initialized.
17041704+ # For example, you can type POWERLEVEL9K_BACKGROUND=red and see your prompt turn red. Hot reload
17051705+ # can slow down prompt by 1-2 milliseconds, so it's better to keep it turned off unless you
17061706+ # really need it.
17071707+ typeset -g POWERLEVEL9K_DISABLE_HOT_RELOAD=true
17081708+17091709+ # If p10k is already loaded, reload configuration.
17101710+ # This works even with POWERLEVEL9K_DISABLE_HOT_RELOAD=true.
17111711+ (( ! $+functions[p10k] )) || p10k reload
17121712+}
17131713+17141714+# Tell `p10k configure` which file it should overwrite.
17151715+typeset -g POWERLEVEL9K_CONFIG_FILE=${${(%):-%x}:a}
17161716+17171717+(( ${#p10k_config_opts} )) && setopt ${p10k_config_opts[@]}
17181718+'builtin' 'unset' 'p10k_config_opts'
+8-2
dot_zshrc
···99 PATH="$PATH:$HOME/.local/bin"
1010fi
11111212+if [[ ! -e "$HOME/.local/bin/zoxide" ]]; then
1313+ curl -sSfL https://raw.githubusercontent.com/ajeetdsouza/zoxide/main/install.sh | sh
1414+fi
1515+1616+1717+1218# Set the directory we want to store zinit and plugins
1319ZINIT_HOME="${XDG_DATA_HOME:-${HOME}/.local/share}/zinit/zinit.git"
1420···8086path+=('/snap/bin')
8187path+=('/home/linuxbrew/.linuxbrew/bin')
82888383-eval $(thefuck --alias)
8989+# eval $(thefuck --alias)
84908591# Set ghcup-env
8686-[ -f "$HOME/.ghcup/env" ] && . "$HOME/.ghcup/env"
9292+# [ -f "$HOME/.ghcup/env" ] && . "$HOME/.ghcup/env"
87938894# Set rust-env
8995[ -f "$HOME/.cargo/env" ] && . "$HOME/.cargo/env"