···1+Hosts
2+=====
3+4+> [!CAUTION]
5+> This hosts system and home configurations are public for your own learning and
6+> research. They are not meant to be used with any hardware other than mine.
7+> Trying to build and deploy them to other systems without appropriate changes
8+> can render your machines unbootable and damage data.
9+10+> [!NOTE]
11+> I do not provide copy/pastable commands that would build/switch/install any
12+> of these configurations because I mean what I wrote in the block before!
13+14+A list of all hosts currently in use by me. this covers all the
15+devices i can name on my behalf. Not all devices in this list are
16+managed through nix or even run it.
17+18+* `mimas`: My currently used main host.
19+* ~~`enceladeus`~~: A secondary laptop, rarely used but still updated.
20+* ~~`thetys`~~: A nixos VM solely used in the office for work related things, discontinued
21+* ~~`dione`~~: company provided android phone, discontinued
22+* `rhea`: self owned phone
23+* ~~`titan`~~: MacOS VM to play and experiment with, discontinued
24+* ~~`hyperion`~~: Linux-Aarch64 VM to play and experiment with, discontinued
25+* `phoebe`: TuxedoOS (Ubuntu derivative) laptop, HM only.
···1-# Generated by Powerlevel10k configuration wizard on 2020-02-27 at 13:48 UTC.
2-# Based on romkatv/powerlevel10k/config/p10k-classic.zsh.
3-# Wizard options: powerline, classic, darkest, time, angled separators, sharp heads,
4-# flat tails, 2 lines, solid, full frame, compact, concise, transient_prompt,
5-# instant_prompt=off.
6-# Type `p10k configure` to generate another config.
7-#
8-# Config for Powerlevel10k with classic powerline prompt style. Type `p10k configure` to generate
9-# your own config based on it.
10-#
11-# Tip: Looking for a nice color? Here's a one-liner to print colormap.
12-#
13-# for i in {0..255}; do print -Pn "%K{$i} %k%F{$i}${(l:3::0:)i}%f " ${${(M)$((i%8)):#7}:+$'\n'}; done
14-15-# Temporarily change options.
16-'builtin' 'local' '-a' 'p10k_config_opts'
17-[[ ! -o 'aliases' ]] || p10k_config_opts+=('aliases')
18-[[ ! -o 'sh_glob' ]] || p10k_config_opts+=('sh_glob')
19-[[ ! -o 'no_brace_expand' ]] || p10k_config_opts+=('no_brace_expand')
20-'builtin' 'setopt' 'no_aliases' 'no_sh_glob' 'brace_expand'
21-22-() {
23- emulate -L zsh
24- setopt no_unset extended_glob
25-26- # Unset all configuration options. This allows you to apply configiguration changes without
27- # restarting zsh. Edit ~/.p10k.zsh and type `source ~/.p10k.zsh`.
28- unset -m 'POWERLEVEL9K_*'
29-30- autoload -Uz is-at-least && is-at-least 5.1 || return
31-32- zmodload zsh/langinfo
33- if [[ ${langinfo[CODESET]:-} != (utf|UTF)(-|)8 ]]; then
34- local LC_ALL=${${(@M)$(locale -a):#*.(utf|UTF)(-|)8}[1]:-en_US.UTF-8}
35- fi
36-37- # The list of segments shown on the left. Fill it with the most important segments.
38- typeset -g POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(
39- # =========================[ Line #1 ]=========================
40- # os_icon # os identifier
41- dir # current directory
42- vcs # git status
43- # =========================[ Line #2 ]=========================
44- newline # \n
45- # prompt_char # prompt symbol
46- )
47-48- # The list of segments shown on the right. Fill it with less important segments.
49- # Right prompt on the last prompt line (where you are typing your commands) gets
50- # automatically hidden when the input line reaches it. Right prompt above the
51- # last prompt line gets hidden if it would overlap with left prompt.
52- typeset -g POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(
53- # =========================[ Line #1 ]=========================
54- status # exit code of the last command
55- command_execution_time # duration of the last command
56- background_jobs # presence of background jobs
57- direnv # direnv status (https://direnv.net/)
58- asdf # asdf version manager (https://github.com/asdf-vm/asdf)
59- virtualenv # python virtual environment (https://docs.python.org/3/library/venv.html)
60- anaconda # conda environment (https://conda.io/)
61- pyenv # python environment (https://github.com/pyenv/pyenv)
62- goenv # go environment (https://github.com/syndbg/goenv)
63- nodenv # node.js version from nodenv (https://github.com/nodenv/nodenv)
64- nvm # node.js version from nvm (https://github.com/nvm-sh/nvm)
65- nodeenv # node.js environment (https://github.com/ekalinin/nodeenv)
66- # node_version # node.js version
67- # go_version # go version (https://golang.org)
68- # rust_version # rustc version (https://www.rust-lang.org)
69- # dotnet_version # .NET version (https://dotnet.microsoft.com)
70- # php_version # php version (https://www.php.net/)
71- # laravel_version # laravel php framework version (https://laravel.com/)
72- rbenv # ruby version from rbenv (https://github.com/rbenv/rbenv)
73- rvm # ruby version from rvm (https://rvm.io)
74- fvm # flutter version management (https://github.com/leoafarias/fvm)
75- luaenv # lua version from luaenv (https://github.com/cehoffman/luaenv)
76- jenv # java version from jenv (https://github.com/jenv/jenv)
77- plenv # perl version from plenv (https://github.com/tokuhirom/plenv)
78- phpenv # php version from phpenv (https://github.com/phpenv/phpenv)
79- kubecontext # current kubernetes context (https://kubernetes.io/)
80- terraform # terraform workspace (https://www.terraform.io)
81- aws # aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html)
82- aws_eb_env # aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/)
83- azure # azure account name (https://docs.microsoft.com/en-us/cli/azure)
84- gcloud # google cloud cli account and project (https://cloud.google.com/)
85- google_app_cred # google application credentials (https://cloud.google.com/docs/authentication/production)
86- context # user@hostname
87- nordvpn # nordvpn connection status, linux only (https://nordvpn.com/)
88- ranger # ranger shell (https://github.com/ranger/ranger)
89- nnn # nnn shell (https://github.com/jarun/nnn)
90- vim_shell # vim shell indicator (:sh)
91- midnight_commander # midnight commander shell (https://midnight-commander.org/)
92- nix_shell # nix shell (https://nixos.org/nixos/nix-pills/developing-with-nix-shell.html)
93- vi_mode # vi mode (you don't need this if you've enabled prompt_char)
94- # vpn_ip # virtual private network indicator
95- # load # CPU load
96- # disk_usage # disk usage
97- # ram # free RAM
98- # swap # used swap
99- todo # todo items (https://github.com/todotxt/todo.txt-cli)
100- timewarrior # timewarrior tracking status (https://timewarrior.net/)
101- taskwarrior # taskwarrior task count (https://taskwarrior.org/)
102- time # current time
103- # =========================[ Line #2 ]=========================
104- newline # \n
105- # ip # ip address and bandwidth usage for a specified network interface
106- # public_ip # public IP address
107- # proxy # system-wide http/https/ftp proxy
108- # battery # internal battery
109- # wifi # wifi speed
110- # example # example user-defined segment (see prompt_example function below)
111- )
112-113- # To enable default icons for all segments, don't define POWERLEVEL9K_VISUAL_IDENTIFIER_EXPANSION
114- # or set it to '${P9K_VISUAL_IDENTIFIER}'.
115- #
116- # To remove trailing space from all default icons, set POWERLEVEL9K_VISUAL_IDENTIFIER_EXPANSION
117- # to '${P9K_VISUAL_IDENTIFIER% }'.
118- #
119- # To enable default icons for one segment (e.g., dir), set
120- # POWERLEVEL9K_DIR_VISUAL_IDENTIFIER_EXPANSION='${P9K_VISUAL_IDENTIFIER}'.
121- #
122- # To assign a specific icon to one segment (e.g., dir), set
123- # POWERLEVEL9K_DIR_VISUAL_IDENTIFIER_EXPANSION='โญ'.
124- #
125- # To assign a specific icon to a segment in a given state (e.g., dir in state NOT_WRITABLE),
126- # set POWERLEVEL9K_DIR_NOT_WRITABLE_VISUAL_IDENTIFIER_EXPANSION='โญ'.
127- #
128- # Note: You can use $'\u2B50' instead of 'โญ'. It's especially convenient when specifying
129- # icons that your text editor cannot render. Don't forget to put $ and use single quotes when
130- # defining icons via Unicode codepoints.
131- #
132- # Note: Many default icons cannot be displayed with system fonts. You'll need to install a
133- # capable font to use them. See POWERLEVEL9K_MODE below.
134- typeset -g POWERLEVEL9K_VISUAL_IDENTIFIER_EXPANSION='${P9K_VISUAL_IDENTIFIER}'
135-136- # This option makes a difference only when default icons are enabled for all or some prompt
137- # segments (see POWERLEVEL9K_VISUAL_IDENTIFIER_EXPANSION above). LOCK_ICON can be printed as
138- # $'\uE0A2', $'\uE138' or $'\uF023' depending on POWERLEVEL9K_MODE. The correct value of this
139- # parameter depends on the provider of the font your terminal is using.
140- #
141- # Font Provider | POWERLEVEL9K_MODE
142- # ---------------------------------+-------------------
143- # Powerline | powerline
144- # Font Awesome | awesome-fontconfig
145- # Adobe Source Code Pro | awesome-fontconfig
146- # Source Code Pro | awesome-fontconfig
147- # Awesome-Terminal Fonts (regular) | awesome-fontconfig
148- # Awesome-Terminal Fonts (patched) | awesome-patched
149- # Nerd Fonts | nerdfont-complete
150- # Other | compatible
151- #
152- # If this looks overwhelming, either stick with a preinstalled system font and set
153- # POWERLEVEL9K_MODE=compatible, or install the recommended Powerlevel10k font from
154- # https://github.com/romkatv/powerlevel10k/#recommended-meslo-nerd-font-patched-for-powerlevel10k
155- # and set POWERLEVEL9K_MODE=nerdfont-complete.
156- typeset -g POWERLEVEL9K_MODE=powerline
157-158- # When set to true, icons appear before content on both sides of the prompt. When set
159- # to false, icons go after content. If empty or not set, icons go before content in the left
160- # prompt and after content in the right prompt.
161- #
162- # You can also override it for a specific segment:
163- #
164- # POWERLEVEL9K_STATUS_ICON_BEFORE_CONTENT=false
165- #
166- # Or for a specific segment in specific state:
167- #
168- # POWERLEVEL9K_DIR_NOT_WRITABLE_ICON_BEFORE_CONTENT=false
169- typeset -g POWERLEVEL9K_ICON_BEFORE_CONTENT=
170-171- # Add an empty line before each prompt.
172- typeset -g POWERLEVEL9K_PROMPT_ADD_NEWLINE=false
173-174- # Connect left prompt lines with these symbols. You'll probably want to use the same color
175- # as POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_FOREGROUND below.
176- typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX='%238Fโญโ'
177- typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_PREFIX='%238Fโโ'
178- typeset -g POWERLEVEL9K_MULTILINE_LAST_PROMPT_PREFIX='%238Fโฐโ'
179- # Connect right prompt lines with these symbols.
180- typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_SUFFIX='%238Fโโฎ'
181- typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_SUFFIX='%238Fโโค'
182- typeset -g POWERLEVEL9K_MULTILINE_LAST_PROMPT_SUFFIX='%238Fโโฏ'
183-184- # Filler between left and right prompt on the first prompt line. You can set it to ' ', 'ยท' or
185- # 'โ'. The last two make it easier to see the alignment between left and right prompt and to
186- # separate prompt from command output. You might want to set POWERLEVEL9K_PROMPT_ADD_NEWLINE=false
187- # for more compact prompt if using using this option.
188- typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR='โ'
189- typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_BACKGROUND=
190- if [[ $POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR != ' ' ]]; then
191- # The color of the filler. You'll probably want to match the color of POWERLEVEL9K_MULTILINE
192- # ornaments defined above.
193- typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_FOREGROUND=238
194- # Start filler from the edge of the screen if there are no left segments on the first line.
195- typeset -g POWERLEVEL9K_EMPTY_LINE_LEFT_PROMPT_FIRST_SEGMENT_END_SYMBOL='%{%}'
196- # End filler on the edge of the screen if there are no right segments on the first line.
197- typeset -g POWERLEVEL9K_EMPTY_LINE_RIGHT_PROMPT_FIRST_SEGMENT_START_SYMBOL='%{%}'
198- fi
199-200- # Default background color.
201- typeset -g POWERLEVEL9K_BACKGROUND=234
202-203- # Separator between same-color segments on the left.
204- typeset -g POWERLEVEL9K_LEFT_SUBSEGMENT_SEPARATOR='%242F\uE0B1'
205- # Separator between same-color segments on the right.
206- typeset -g POWERLEVEL9K_RIGHT_SUBSEGMENT_SEPARATOR='%242F\uE0B3'
207- # Separator between different-color segments on the left.
208- typeset -g POWERLEVEL9K_LEFT_SEGMENT_SEPARATOR='\uE0B0'
209- # Separator between different-color segments on the right.
210- typeset -g POWERLEVEL9K_RIGHT_SEGMENT_SEPARATOR='\uE0B2'
211- # The right end of left prompt.
212- typeset -g POWERLEVEL9K_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL='\uE0B0'
213- # The left end of right prompt.
214- typeset -g POWERLEVEL9K_RIGHT_PROMPT_FIRST_SEGMENT_START_SYMBOL='\uE0B2'
215- # The left end of left prompt.
216- typeset -g POWERLEVEL9K_LEFT_PROMPT_FIRST_SEGMENT_START_SYMBOL=''
217- # The right end of right prompt.
218- typeset -g POWERLEVEL9K_RIGHT_PROMPT_LAST_SEGMENT_END_SYMBOL=''
219- # Left prompt terminator for lines without any segments.
220- typeset -g POWERLEVEL9K_EMPTY_LINE_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL=
221-222- #################################[ os_icon: os identifier ]##################################
223- # OS identifier color.
224- typeset -g POWERLEVEL9K_OS_ICON_FOREGROUND=255
225- # Make the icon bold.
226- typeset -g POWERLEVEL9K_OS_ICON_CONTENT_EXPANSION='%B${P9K_CONTENT}'
227-228- ################################[ prompt_char: prompt symbol ]################################
229- # Transparent background.
230- typeset -g POWERLEVEL9K_PROMPT_CHAR_BACKGROUND=
231- # Green prompt symbol if the last command succeeded.
232- typeset -g POWERLEVEL9K_PROMPT_CHAR_OK_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=76
233- # Red prompt symbol if the last command failed.
234- typeset -g POWERLEVEL9K_PROMPT_CHAR_ERROR_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=196
235- # Default prompt symbol.
236- typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIINS_CONTENT_EXPANSION='โฏ'
237- # Prompt symbol in command vi mode.
238- typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VICMD_CONTENT_EXPANSION='โฎ'
239- # Prompt symbol in visual vi mode.
240- typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIVIS_CONTENT_EXPANSION='โ ค'
241- # Prompt symbol in overwrite vi mode.
242- typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIOWR_CONTENT_EXPANSION='โถ'
243- typeset -g POWERLEVEL9K_PROMPT_CHAR_OVERWRITE_STATE=true
244- # No line terminator if prompt_char is the last segment.
245- typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL=
246- # No line introducer if prompt_char is the first segment.
247- typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_PROMPT_FIRST_SEGMENT_START_SYMBOL=
248- # No surrounding whitespace.
249- typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_{LEFT,RIGHT}_WHITESPACE=
250-251- ##################################[ dir: current directory ]##################################
252- # Default current directory color.
253- typeset -g POWERLEVEL9K_DIR_FOREGROUND=31
254- # If directory is too long, shorten some of its segments to the shortest possible unique
255- # prefix. The shortened directory can be tab-completed to the original.
256- typeset -g POWERLEVEL9K_SHORTEN_STRATEGY=truncate_to_unique
257- # Replace removed segment suffixes with this symbol.
258- typeset -g POWERLEVEL9K_SHORTEN_DELIMITER=
259- # Color of the shortened directory segments.
260- typeset -g POWERLEVEL9K_DIR_SHORTENED_FOREGROUND=103
261- # Color of the anchor directory segments. Anchor segments are never shortened. The first
262- # segment is always an anchor.
263- typeset -g POWERLEVEL9K_DIR_ANCHOR_FOREGROUND=39
264- # Display anchor directory segments in bold.
265- typeset -g POWERLEVEL9K_DIR_ANCHOR_BOLD=true
266- # Don't shorten directories that contain any of these files. They are anchors.
267- local anchor_files=(
268- .bzr
269- .citc
270- .git
271- .hg
272- .node-version
273- .python-version
274- .go-version
275- .ruby-version
276- .lua-version
277- .java-version
278- .perl-version
279- .php-version
280- .tool-version
281- .shorten_folder_marker
282- .svn
283- .terraform
284- CVS
285- Cargo.toml
286- composer.json
287- go.mod
288- package.json
289- )
290- typeset -g POWERLEVEL9K_SHORTEN_FOLDER_MARKER="(${(j:|:)anchor_files})"
291- # If set to true, remove everything before the last (deepest) subdirectory that contains files
292- # matching $POWERLEVEL9K_SHORTEN_FOLDER_MARKER. For example, when the current directory is
293- # /foo/bar/git_repo/baz, prompt will display git_repo/baz. This assumes that /foo/bar/git_repo
294- # contains a marker (.git) and other directories don't.
295- typeset -g POWERLEVEL9K_DIR_TRUNCATE_BEFORE_MARKER=false
296- # Don't shorten this many last directory segments. They are anchors.
297- typeset -g POWERLEVEL9K_SHORTEN_DIR_LENGTH=1
298- # Shorten directory if it's longer than this even if there is space for it. The value can
299- # be either absolute (e.g., '80') or a percentage of terminal width (e.g, '50%'). If empty,
300- # directory will be shortened only when prompt doesn't fit or when other parameters demand it
301- # (see POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS and POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS_PCT below).
302- # If set to `0`, directory will always be shortened to its minimum length.
303- typeset -g POWERLEVEL9K_DIR_MAX_LENGTH=80
304- # When `dir` segment is on the last prompt line, try to shorten it enough to leave at least this
305- # many columns for typing commands.
306- typeset -g POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS=40
307- # When `dir` segment is on the last prompt line, try to shorten it enough to leave at least
308- # COLUMNS * POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS_PCT * 0.01 columns for typing commands.
309- typeset -g POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS_PCT=50
310- # If set to true, embed a hyperlink into the directory. Useful for quickly
311- # opening a directory in the file manager simply by clicking the link.
312- # Can also be handy when the directory is shortened, as it allows you to see
313- # the full directory that was used in previous commands.
314- typeset -g POWERLEVEL9K_DIR_HYPERLINK=false
315-316- # Enable special styling for non-writable directories.
317- typeset -g POWERLEVEL9K_DIR_SHOW_WRITABLE=true
318- # Show this icon when the current directory is not writable. POWERLEVEL9K_DIR_SHOW_WRITABLE
319- # above must be set to true for this parameter to have effect.
320- typeset -g POWERLEVEL9K_DIR_NOT_WRITABLE_VISUAL_IDENTIFIER_EXPANSION='โ '
321-322- # Custom prefix.
323- # typeset -g POWERLEVEL9K_DIR_PREFIX='%244Fin '
324-325- # POWERLEVEL9K_DIR_CLASSES allows you to specify custom icons for different directories.
326- # It must be an array with 3 * N elements. Each triplet consists of:
327- #
328- # 1. A pattern against which the current directory is matched. Matching is done with
329- # extended_glob option enabled.
330- # 2. Directory class for the purpose of styling.
331- # 3. Icon.
332- #
333- # Triplets are tried in order. The first triplet whose pattern matches $PWD wins. If there
334- # are no matches, the directory will have no icon.
335- #
336- # Example:
337- #
338- # typeset -g POWERLEVEL9K_DIR_CLASSES=(
339- # '~/work(|/*)' WORK '(โฏยฐโกยฐ๏ผโฏ๏ธต โปโโป'
340- # '~(|/*)' HOME 'โ'
341- # '*' DEFAULT '')
342- #
343- # With these settings, the current directory in the prompt may look like this:
344- #
345- # (โฏยฐโกยฐ๏ผโฏ๏ธต โปโโป ~/work/projects/important/urgent
346- #
347- # Or like this:
348- #
349- # โ ~/best/powerlevel10k
350- #
351- # You can also set different colors for directories of different classes. Remember to override
352- # FOREGROUND, SHORTENED_FOREGROUND and ANCHOR_FOREGROUND for every directory class that you wish
353- # to have its own color.
354- #
355- # typeset -g POWERLEVEL9K_DIR_WORK_FOREGROUND=31
356- # typeset -g POWERLEVEL9K_DIR_WORK_SHORTENED_FOREGROUND=103
357- # typeset -g POWERLEVEL9K_DIR_WORK_ANCHOR_FOREGROUND=39
358- #
359- typeset -g POWERLEVEL9K_DIR_CLASSES=()
360-361- #####################################[ vcs: git status ]######################################
362- # Branch icon. Set this parameter to '\uF126 ' for the popular Powerline branch icon.
363- typeset -g POWERLEVEL9K_VCS_BRANCH_ICON=
364- POWERLEVEL9K_VCS_BRANCH_ICON=${(g::)POWERLEVEL9K_VCS_BRANCH_ICON}
365-366- # Untracked files icon. It's really a question mark, your font isn't broken.
367- # Change the value of this parameter to show a different icon.
368- typeset -g POWERLEVEL9K_VCS_UNTRACKED_ICON='?'
369- POWERLEVEL9K_VCS_UNTRACKED_ICON=${(g::)POWERLEVEL9K_VCS_UNTRACKED_ICON}
370-371- # Formatter for Git status.
372- #
373- # Example output: master โฃ42โก42 *42 merge ~42 +42 !42 ?42.
374- #
375- # You can edit the function to customize how Git status looks.
376- #
377- # VCS_STATUS_* parameters are set by gitstatus plugin. See reference:
378- # https://github.com/romkatv/gitstatus/blob/master/gitstatus.plugin.zsh.
379- function my_git_formatter() {
380- emulate -L zsh
381-382- if [[ -n $P9K_CONTENT ]]; then
383- # If P9K_CONTENT is not empty, use it. It's either "loading" or from vcs_info (not from
384- # gitstatus plugin). VCS_STATUS_* parameters are not available in this case.
385- typeset -g my_git_format=$P9K_CONTENT
386- return
387- fi
388-389- if (( $1 )); then
390- # Styling for up-to-date Git status.
391- local meta='%244F' # grey foreground
392- local clean='%76F' # green foreground
393- local modified='%178F' # yellow foreground
394- local untracked='%39F' # blue foreground
395- local conflicted='%196F' # red foreground
396- else
397- # Styling for incomplete and stale Git status.
398- local meta='%244F' # grey foreground
399- local clean='%244F' # grey foreground
400- local modified='%244F' # grey foreground
401- local untracked='%244F' # grey foreground
402- local conflicted='%244F' # grey foreground
403- fi
404-405- local res
406- local where # branch or tag
407- if [[ -n $VCS_STATUS_LOCAL_BRANCH ]]; then
408- res+="${clean}${POWERLEVEL9K_VCS_BRANCH_ICON}"
409- where=${(V)VCS_STATUS_LOCAL_BRANCH}
410- elif [[ -n $VCS_STATUS_TAG ]]; then
411- res+="${meta}#"
412- where=${(V)VCS_STATUS_TAG}
413- fi
414-415- # If local branch name or tag is at most 32 characters long, show it in full.
416- # Otherwise show the first 12 โฆ the last 12.
417- (( $#where > 32 )) && where[13,-13]="โฆ"
418- res+="${clean}${where//\%/%%}" # escape %
419-420- # Display the current Git commit if there is no branch or tag.
421- # Tip: To always display the current Git commit, remove `[[ -z $where ]] &&` from the next line.
422- [[ -z $where ]] && res+="${meta}@${clean}${VCS_STATUS_COMMIT[1,8]}"
423-424- # Show tracking branch name if it differs from local branch.
425- if [[ -n ${VCS_STATUS_REMOTE_BRANCH:#$VCS_STATUS_LOCAL_BRANCH} ]]; then
426- res+="${meta}:${clean}${(V)VCS_STATUS_REMOTE_BRANCH//\%/%%}" # escape %
427- fi
428-429- # โฃ42 if behind the remote.
430- (( VCS_STATUS_COMMITS_BEHIND )) && res+=" ${clean}โฃ${VCS_STATUS_COMMITS_BEHIND}"
431- # โก42 if ahead of the remote; no leading space if also behind the remote: โฃ42โก42.
432- (( VCS_STATUS_COMMITS_AHEAD && !VCS_STATUS_COMMITS_BEHIND )) && res+=" "
433- (( VCS_STATUS_COMMITS_AHEAD )) && res+="${clean}โก${VCS_STATUS_COMMITS_AHEAD}"
434- # โ 42 if behind the push remote.
435- (( VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" ${clean}โ ${VCS_STATUS_PUSH_COMMITS_BEHIND}"
436- (( VCS_STATUS_PUSH_COMMITS_AHEAD && !VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" "
437- # โข42 if ahead of the push remote; no leading space if also behind: โ 42โข42.
438- (( VCS_STATUS_PUSH_COMMITS_AHEAD )) && res+="${clean}โข${VCS_STATUS_PUSH_COMMITS_AHEAD}"
439- # *42 if have stashes.
440- (( VCS_STATUS_STASHES )) && res+=" ${clean}*${VCS_STATUS_STASHES}"
441- # 'merge' if the repo is in an unusual state.
442- [[ -n $VCS_STATUS_ACTION ]] && res+=" ${conflicted}${VCS_STATUS_ACTION}"
443- # ~42 if have merge conflicts.
444- (( VCS_STATUS_NUM_CONFLICTED )) && res+=" ${conflicted}~${VCS_STATUS_NUM_CONFLICTED}"
445- # +42 if have staged changes.
446- (( VCS_STATUS_NUM_STAGED )) && res+=" ${modified}+${VCS_STATUS_NUM_STAGED}"
447- # !42 if have unstaged changes.
448- (( VCS_STATUS_NUM_UNSTAGED )) && res+=" ${modified}!${VCS_STATUS_NUM_UNSTAGED}"
449- # ?42 if have untracked files. It's really a question mark, your font isn't broken.
450- # See POWERLEVEL9K_VCS_UNTRACKED_ICON above if you want to use a different icon.
451- # Remove the next line if you don't want to see untracked files at all.
452- (( VCS_STATUS_NUM_UNTRACKED )) && res+=" ${untracked}${POWERLEVEL9K_VCS_UNTRACKED_ICON}${VCS_STATUS_NUM_UNTRACKED}"
453- # "โ" if the number of unstaged files is unknown. This can happen due to
454- # POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY (see below) being set to a non-negative number lower
455- # than the number of files in the Git index, or due to bash.showDirtyState being set to false
456- # in the repository config. The number of staged and untracked files may also be unknown
457- # in this case.
458- (( VCS_STATUS_HAS_UNSTAGED == -1 )) && res+=" ${modified}โ"
459-460- typeset -g my_git_format=$res
461- }
462- functions -M my_git_formatter 2>/dev/null
463-464- # Don't count the number of unstaged, untracked and conflicted files in Git repositories with
465- # more than this many files in the index. Negative value means infinity.
466- #
467- # If you are working in Git repositories with tens of millions of files and seeing performance
468- # sagging, try setting POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY to a number lower than the output
469- # of `git ls-files | wc -l`. Alternatively, add `bash.showDirtyState = false` to the repository's
470- # config: `git config bash.showDirtyState false`.
471- typeset -g POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY=-1
472-473- # Don't show Git status in prompt for repositories whose workdir matches this pattern.
474- # For example, if set to '~', the Git repository at $HOME/.git will be ignored.
475- # Multiple patterns can be combined with '|': '~|~/some/dir'.
476- typeset -g POWERLEVEL9K_VCS_DISABLED_WORKDIR_PATTERN='~'
477-478- # Disable the default Git status formatting.
479- typeset -g POWERLEVEL9K_VCS_DISABLE_GITSTATUS_FORMATTING=true
480- # Install our own Git status formatter.
481- typeset -g POWERLEVEL9K_VCS_CONTENT_EXPANSION='${$((my_git_formatter(1)))+${my_git_format}}'
482- typeset -g POWERLEVEL9K_VCS_LOADING_CONTENT_EXPANSION='${$((my_git_formatter(0)))+${my_git_format}}'
483- # Enable counters for staged, unstaged, etc.
484- typeset -g POWERLEVEL9K_VCS_{STAGED,UNSTAGED,UNTRACKED,CONFLICTED,COMMITS_AHEAD,COMMITS_BEHIND}_MAX_NUM=-1
485-486- # Icon color.
487- typeset -g POWERLEVEL9K_VCS_VISUAL_IDENTIFIER_COLOR=76
488- typeset -g POWERLEVEL9K_VCS_LOADING_VISUAL_IDENTIFIER_COLOR=244
489- # Custom icon.
490- typeset -g POWERLEVEL9K_VCS_VISUAL_IDENTIFIER_EXPANSION=
491- # Custom prefix.
492- # typeset -g POWERLEVEL9K_VCS_PREFIX='%244Fon '
493-494- # Show status of repositories of these types. You can add svn and/or hg if you are
495- # using them. If you do, your prompt may become slow even when your current directory
496- # isn't in an svn or hg reposotiry.
497- typeset -g POWERLEVEL9K_VCS_BACKENDS=(git)
498-499- # These settings are used for respositories other than Git or when gitstatusd fails and
500- # Powerlevel10k has to fall back to using vcs_info.
501- typeset -g POWERLEVEL9K_VCS_CLEAN_FOREGROUND=76
502- typeset -g POWERLEVEL9K_VCS_UNTRACKED_FOREGROUND=76
503- typeset -g POWERLEVEL9K_VCS_MODIFIED_FOREGROUND=178
504-505- ##########################[ status: exit code of the last command ]###########################
506- # Enable OK_PIPE, ERROR_PIPE and ERROR_SIGNAL status states to allow us to enable, disable and
507- # style them independently from the regular OK and ERROR state.
508- typeset -g POWERLEVEL9K_STATUS_EXTENDED_STATES=true
509-510- # Status on success. No content, just an icon. No need to show it if prompt_char is enabled as
511- # it will signify success by turning green.
512- typeset -g POWERLEVEL9K_STATUS_OK=true
513- typeset -g POWERLEVEL9K_STATUS_OK_FOREGROUND=70
514- typeset -g POWERLEVEL9K_STATUS_OK_VISUAL_IDENTIFIER_EXPANSION='โ'
515-516- # Status when some part of a pipe command fails but the overall exit status is zero. It may look
517- # like this: 1|0.
518- typeset -g POWERLEVEL9K_STATUS_OK_PIPE=true
519- typeset -g POWERLEVEL9K_STATUS_OK_PIPE_FOREGROUND=70
520- typeset -g POWERLEVEL9K_STATUS_OK_PIPE_VISUAL_IDENTIFIER_EXPANSION='โ'
521-522- # Status when it's just an error code (e.g., '1'). No need to show it if prompt_char is enabled as
523- # it will signify error by turning red.
524- typeset -g POWERLEVEL9K_STATUS_ERROR=true
525- typeset -g POWERLEVEL9K_STATUS_ERROR_FOREGROUND=160
526- typeset -g POWERLEVEL9K_STATUS_ERROR_VISUAL_IDENTIFIER_EXPANSION='โ'
527-528- # Status when the last command was terminated by a signal.
529- typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL=true
530- typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL_FOREGROUND=160
531- # Use terse signal names: "INT" instead of "SIGINT(2)".
532- typeset -g POWERLEVEL9K_STATUS_VERBOSE_SIGNAME=false
533- typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL_VISUAL_IDENTIFIER_EXPANSION='โ'
534-535- # Status when some part of a pipe command fails and the overall exit status is also non-zero.
536- # It may look like this: 1|0.
537- typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE=true
538- typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_FOREGROUND=160
539- typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_VISUAL_IDENTIFIER_EXPANSION='โ'
540-541- ###################[ command_execution_time: duration of the last command ]###################
542- # Show duration of the last command if takes longer than this many seconds.
543- typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_THRESHOLD=3
544- # Show this many fractional digits. Zero means round to seconds.
545- typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PRECISION=0
546- # Execution time color.
547- typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FOREGROUND=248
548- # Duration format: 1d 2h 3m 4s.
549- typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FORMAT='d h m s'
550- # Custom icon.
551- typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_VISUAL_IDENTIFIER_EXPANSION=
552- # Custom prefix.
553- # typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PREFIX='%244Ftook '
554-555- #######################[ background_jobs: presence of background jobs ]#######################
556- # Don't show the number of background jobs.
557- typeset -g POWERLEVEL9K_BACKGROUND_JOBS_VERBOSE=false
558- # Background jobs color.
559- typeset -g POWERLEVEL9K_BACKGROUND_JOBS_FOREGROUND=37
560- # Custom icon.
561- typeset -g POWERLEVEL9K_BACKGROUND_JOBS_VISUAL_IDENTIFIER_EXPANSION='โก'
562-563- #######################[ direnv: direnv status (https://direnv.net/) ]########################
564- # Direnv color.
565- typeset -g POWERLEVEL9K_DIRENV_FOREGROUND=178
566- # Custom icon.
567- # typeset -g POWERLEVEL9K_DIRENV_VISUAL_IDENTIFIER_EXPANSION='โญ'
568-569- ###############[ asdf: asdf version manager (https://github.com/asdf-vm/asdf) ]###############
570- # Default asdf color. Only used to display tools for which there is no color override (see below).
571- typeset -g POWERLEVEL9K_ASDF_FOREGROUND=66
572-573- # There are four parameters that can be used to hide asdf tools. Each parameter describes
574- # conditions under which a tool gets hidden. Parameters can hide tools but not unhide them. If at
575- # least one parameter decides to hide a tool, that tool gets hidden. If no parameter decides to
576- # hide a tool, it gets shown.
577- #
578- # Special note on the difference between POWERLEVEL9K_ASDF_SOURCES and
579- # POWERLEVEL9K_ASDF_PROMPT_ALWAYS_SHOW. Consider the effect of the following commands:
580- #
581- # asdf local python 3.8.1
582- # asdf global python 3.8.1
583- #
584- # After running both commands the current python version is 3.8.1 and its source is "local" as
585- # it takes precedence over "global". If POWERLEVEL9K_ASDF_PROMPT_ALWAYS_SHOW is set to false,
586- # it'll hide python version in this case because 3.8.1 is the same as the global version.
587- # POWERLEVEL9K_ASDF_SOURCES will hide python version only if the value of this parameter doesn't
588- # contain "local".
589-590- # Hide tool versions that don't come from one of these sources.
591- #
592- # Available sources:
593- #
594- # - shell `asdf current` says "set by ASDF_${TOOL}_VERSION environment variable"
595- # - local `asdf current` says "set by /some/not/home/directory/file"
596- # - global `asdf current` says "set by /home/username/file"
597- #
598- # Note: If this parameter is set to (shell local global), it won't hide tools.
599- # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_SOURCES.
600- typeset -g POWERLEVEL9K_ASDF_SOURCES=(shell local global)
601-602- # If set to false, hide tool versions that are the same as global.
603- #
604- # Note: The name of this parameter doesn't reflect its meaning at all.
605- # Note: If this parameter is set to true, it won't hide tools.
606- # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_PROMPT_ALWAYS_SHOW.
607- typeset -g POWERLEVEL9K_ASDF_PROMPT_ALWAYS_SHOW=false
608-609- # If set to false, hide tool versions that are equal to "system".
610- #
611- # Note: If this parameter is set to true, it won't hide tools.
612- # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_SHOW_SYSTEM.
613- typeset -g POWERLEVEL9K_ASDF_SHOW_SYSTEM=true
614-615- # If set to non-empty value, hide tools unless there is a file matching the specified file pattern
616- # in the current directory, or its parent diretory, or its grandparent directory, and so on.
617- #
618- # Note: If this parameter is set to empty value, it won't hide tools.
619- # Note: SHOW_ON_UPGLOB isn't specific to asdf. It works with all prompt segments.
620- # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_SHOW_ON_UPGLOB.
621- #
622- # Example: Hide nodejs version when there is no package.json and no *.js files in the current
623- # directory, in `..`, in `../..` and so on.
624- #
625- # typeset -g POWERLEVEL9K_ASDF_NODEJS_SHOW_ON_UPGLOB='*.js|package.json'
626- typeset -g POWERLEVEL9K_ASDF_SHOW_ON_UPGLOB=
627-628- # Ruby version from asdf.
629- typeset -g POWERLEVEL9K_ASDF_RUBY_FOREGROUND=168
630- # typeset -g POWERLEVEL9K_ASDF_RUBY_VISUAL_IDENTIFIER_EXPANSION='โญ'
631- # typeset -g POWERLEVEL9K_ASDF_RUBY_SHOW_ON_UPGLOB='*.foo|*.bar'
632-633- # Python version from asdf.
634- typeset -g POWERLEVEL9K_ASDF_PYTHON_FOREGROUND=37
635- # typeset -g POWERLEVEL9K_ASDF_PYTHON_VISUAL_IDENTIFIER_EXPANSION='โญ'
636- # typeset -g POWERLEVEL9K_ASDF_PYTHON_SHOW_ON_UPGLOB='*.foo|*.bar'
637-638- # Go version from asdf.
639- typeset -g POWERLEVEL9K_ASDF_GO_FOREGROUND=37
640- # typeset -g POWERLEVEL9K_ASDF_GO_VISUAL_IDENTIFIER_EXPANSION='โญ'
641- # typeset -g POWERLEVEL9K_ASDF_GO_SHOW_ON_UPGLOB='*.foo|*.bar'
642-643- # Node.js version from asdf.
644- typeset -g POWERLEVEL9K_ASDF_NODEJS_FOREGROUND=70
645- # typeset -g POWERLEVEL9K_ASDF_NODEJS_VISUAL_IDENTIFIER_EXPANSION='โญ'
646- # typeset -g POWERLEVEL9K_ASDF_NODEJS_SHOW_ON_UPGLOB='*.foo|*.bar'
647-648- # Rust version from asdf.
649- typeset -g POWERLEVEL9K_ASDF_RUST_FOREGROUND=37
650- # typeset -g POWERLEVEL9K_ASDF_RUST_VISUAL_IDENTIFIER_EXPANSION='โญ'
651- # typeset -g POWERLEVEL9K_ASDF_RUST_SHOW_ON_UPGLOB='*.foo|*.bar'
652-653- # .NET Core version from asdf.
654- typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_FOREGROUND=134
655- # typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_VISUAL_IDENTIFIER_EXPANSION='โญ'
656- # typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_SHOW_ON_UPGLOB='*.foo|*.bar'
657-658- # Flutter version from asdf.
659- typeset -g POWERLEVEL9K_ASDF_FLUTTER_FOREGROUND=38
660- # typeset -g POWERLEVEL9K_ASDF_FLUTTER_VISUAL_IDENTIFIER_EXPANSION='โญ'
661- # typeset -g POWERLEVEL9K_ASDF_FLUTTER_SHOW_ON_UPGLOB='*.foo|*.bar'
662-663- # Lua version from asdf.
664- typeset -g POWERLEVEL9K_ASDF_LUA_FOREGROUND=32
665- # typeset -g POWERLEVEL9K_ASDF_LUA_VISUAL_IDENTIFIER_EXPANSION='โญ'
666- # typeset -g POWERLEVEL9K_ASDF_LUA_SHOW_ON_UPGLOB='*.foo|*.bar'
667-668- # Java version from asdf.
669- typeset -g POWERLEVEL9K_ASDF_JAVA_FOREGROUND=32
670- # typeset -g POWERLEVEL9K_ASDF_JAVA_VISUAL_IDENTIFIER_EXPANSION='โญ'
671- # typeset -g POWERLEVEL9K_ASDF_JAVA_SHOW_ON_UPGLOB='*.foo|*.bar'
672-673- # Perl version from asdf.
674- typeset -g POWERLEVEL9K_ASDF_PERL_FOREGROUND=67
675- # typeset -g POWERLEVEL9K_ASDF_PERL_VISUAL_IDENTIFIER_EXPANSION='โญ'
676- # typeset -g POWERLEVEL9K_ASDF_PERL_SHOW_ON_UPGLOB='*.foo|*.bar'
677-678- # Erlang version from asdf.
679- typeset -g POWERLEVEL9K_ASDF_ERLANG_FOREGROUND=125
680- # typeset -g POWERLEVEL9K_ASDF_ERLANG_VISUAL_IDENTIFIER_EXPANSION='โญ'
681- # typeset -g POWERLEVEL9K_ASDF_ERLANG_SHOW_ON_UPGLOB='*.foo|*.bar'
682-683- # Elixir version from asdf.
684- typeset -g POWERLEVEL9K_ASDF_ELIXIR_FOREGROUND=129
685- # typeset -g POWERLEVEL9K_ASDF_ELIXIR_VISUAL_IDENTIFIER_EXPANSION='โญ'
686- # typeset -g POWERLEVEL9K_ASDF_ELIXIR_SHOW_ON_UPGLOB='*.foo|*.bar'
687-688- # Postgres version from asdf.
689- typeset -g POWERLEVEL9K_ASDF_POSTGRES_FOREGROUND=31
690- # typeset -g POWERLEVEL9K_ASDF_POSTGRES_VISUAL_IDENTIFIER_EXPANSION='โญ'
691- # typeset -g POWERLEVEL9K_ASDF_POSTGRES_SHOW_ON_UPGLOB='*.foo|*.bar'
692-693- # PHP version from asdf.
694- typeset -g POWERLEVEL9K_ASDF_PHP_FOREGROUND=99
695- # typeset -g POWERLEVEL9K_ASDF_PHP_VISUAL_IDENTIFIER_EXPANSION='โญ'
696- # typeset -g POWERLEVEL9K_ASDF_PHP_SHOW_ON_UPGLOB='*.foo|*.bar'
697-698- ##########[ nordvpn: nordvpn connection status, linux only (https://nordvpn.com/) ]###########
699- # NordVPN connection indicator color.
700- typeset -g POWERLEVEL9K_NORDVPN_FOREGROUND=39
701- # Hide NordVPN connection indicator when not connected.
702- typeset -g POWERLEVEL9K_NORDVPN_{DISCONNECTED,CONNECTING,DISCONNECTING}_CONTENT_EXPANSION=
703- typeset -g POWERLEVEL9K_NORDVPN_{DISCONNECTED,CONNECTING,DISCONNECTING}_VISUAL_IDENTIFIER_EXPANSION=
704- # Custom icon.
705- # typeset -g POWERLEVEL9K_NORDVPN_VISUAL_IDENTIFIER_EXPANSION='โญ'
706-707- #################[ ranger: ranger shell (https://github.com/ranger/ranger) ]##################
708- # Ranger shell color.
709- typeset -g POWERLEVEL9K_RANGER_FOREGROUND=178
710- # Custom icon.
711- typeset -g POWERLEVEL9K_RANGER_VISUAL_IDENTIFIER_EXPANSION='โฒ'
712-713- ######################[ nnn: nnn shell (https://github.com/jarun/nnn) ]#######################
714- # Nnn shell color.
715- typeset -g POWERLEVEL9K_NNN_FOREGROUND=72
716- # Custom icon.
717- # typeset -g POWERLEVEL9K_NNN_VISUAL_IDENTIFIER_EXPANSION='โญ'
718-719- ###########################[ vim_shell: vim shell indicator (:sh) ]###########################
720- # Vim shell indicator color.
721- typeset -g POWERLEVEL9K_VIM_SHELL_FOREGROUND=34
722- # Custom icon.
723- # typeset -g POWERLEVEL9K_VIM_SHELL_VISUAL_IDENTIFIER_EXPANSION='โญ'
724-725- ######[ midnight_commander: midnight commander shell (https://midnight-commander.org/) ]######
726- # Midnight Commander shell color.
727- typeset -g POWERLEVEL9K_MIDNIGHT_COMMANDER_FOREGROUND=178
728- # Custom icon.
729- # typeset -g POWERLEVEL9K_MIDNIGHT_COMMANDER_VISUAL_IDENTIFIER_EXPANSION='โญ'
730-731- #[ nix_shell: nix shell (https://nixos.org/nixos/nix-pills/developing-with-nix-shell.html) ]##
732- # Nix shell color.
733- typeset -g POWERLEVEL9K_NIX_SHELL_FOREGROUND=74
734-735- # Tip: If you want to see just the icon without "pure" and "impure", uncomment the next line.
736- # typeset -g POWERLEVEL9K_NIX_SHELL_CONTENT_EXPANSION=
737-738- # Custom icon.
739- # typeset -g POWERLEVEL9K_NIX_SHELL_VISUAL_IDENTIFIER_EXPANSION='โญ'
740-741- ##################################[ disk_usgae: disk usage ]##################################
742- # Colors for different levels of disk usage.
743- typeset -g POWERLEVEL9K_DISK_USAGE_NORMAL_FOREGROUND=35
744- typeset -g POWERLEVEL9K_DISK_USAGE_WARNING_FOREGROUND=220
745- typeset -g POWERLEVEL9K_DISK_USAGE_CRITICAL_FOREGROUND=160
746- # Thresholds for different levels of disk usage (percentage points).
747- typeset -g POWERLEVEL9K_DISK_USAGE_WARNING_LEVEL=90
748- typeset -g POWERLEVEL9K_DISK_USAGE_CRITICAL_LEVEL=95
749- # If set to true, hide disk usage when below $POWERLEVEL9K_DISK_USAGE_WARNING_LEVEL percent.
750- typeset -g POWERLEVEL9K_DISK_USAGE_ONLY_WARNING=false
751- # Custom icon.
752- # typeset -g POWERLEVEL9K_DISK_USAGE_VISUAL_IDENTIFIER_EXPANSION='โญ'
753-754- ###########[ vi_mode: vi mode (you don't need this if you've enabled prompt_char) ]###########
755- # Text and color for normal (a.k.a. command) vi mode.
756- typeset -g POWERLEVEL9K_VI_COMMAND_MODE_STRING=NORMAL
757- typeset -g POWERLEVEL9K_VI_MODE_NORMAL_FOREGROUND=106
758- # Text and color for visual vi mode.
759- typeset -g POWERLEVEL9K_VI_VISUAL_MODE_STRING=VISUAL
760- typeset -g POWERLEVEL9K_VI_MODE_VISUAL_FOREGROUND=68
761- # Text and color for overtype (a.k.a. overwrite and replace) vi mode.
762- typeset -g POWERLEVEL9K_VI_OVERWRITE_MODE_STRING=OVERTYPE
763- typeset -g POWERLEVEL9K_VI_MODE_OVERWRITE_FOREGROUND=172
764- # Text and color for insert vi mode.
765- typeset -g POWERLEVEL9K_VI_INSERT_MODE_STRING=
766- typeset -g POWERLEVEL9K_VI_MODE_INSERT_FOREGROUND=66
767-768- # Custom icon.
769- typeset -g POWERLEVEL9K_RANGER_VISUAL_IDENTIFIER_EXPANSION='โฒ'
770-771- ######################################[ ram: free RAM ]#######################################
772- # RAM color.
773- typeset -g POWERLEVEL9K_RAM_FOREGROUND=66
774- # Custom icon.
775- # typeset -g POWERLEVEL9K_RAM_VISUAL_IDENTIFIER_EXPANSION='โญ'
776-777- #####################################[ swap: used swap ]######################################
778- # Swap color.
779- typeset -g POWERLEVEL9K_SWAP_FOREGROUND=96
780- # Custom icon.
781- # typeset -g POWERLEVEL9K_SWAP_VISUAL_IDENTIFIER_EXPANSION='โญ'
782-783- ######################################[ load: CPU load ]######################################
784- # Show average CPU load over this many last minutes. Valid values are 1, 5 and 15.
785- typeset -g POWERLEVEL9K_LOAD_WHICH=5
786- # Load color when load is under 50%.
787- typeset -g POWERLEVEL9K_LOAD_NORMAL_FOREGROUND=66
788- # Load color when load is between 50% and 70%.
789- typeset -g POWERLEVEL9K_LOAD_WARNING_FOREGROUND=178
790- # Load color when load is over 70%.
791- typeset -g POWERLEVEL9K_LOAD_CRITICAL_FOREGROUND=166
792- # Custom icon.
793- # typeset -g POWERLEVEL9K_LOAD_VISUAL_IDENTIFIER_EXPANSION='โญ'
794-795- ################[ todo: todo items (https://github.com/todotxt/todo.txt-cli) ]################
796- # Todo color.
797- typeset -g POWERLEVEL9K_TODO_FOREGROUND=110
798- # Hide todo when the total number of tasks is zero.
799- typeset -g POWERLEVEL9K_TODO_HIDE_ZERO_TOTAL=true
800- # Hide todo when the number of tasks after filtering is zero.
801- typeset -g POWERLEVEL9K_TODO_HIDE_ZERO_FILTERED=false
802-803- # Todo format. The following parameters are available within the expansion.
804- #
805- # - P9K_TODO_TOTAL_TASK_COUNT The total number of tasks.
806- # - P9K_TODO_FILTERED_TASK_COUNT The number of tasks after filtering.
807- #
808- # These variables correspond to the last line of the output of `todo.sh -p ls`:
809- #
810- # TODO: 24 of 42 tasks shown
811- #
812- # Here 24 is P9K_TODO_FILTERED_TASK_COUNT and 42 is P9K_TODO_TOTAL_TASK_COUNT.
813- #
814- # typeset -g POWERLEVEL9K_TODO_CONTENT_EXPANSION='$P9K_TODO_FILTERED_TASK_COUNT'
815-816- # Custom icon.
817- # typeset -g POWERLEVEL9K_TODO_VISUAL_IDENTIFIER_EXPANSION='โญ'
818-819- ###########[ timewarrior: timewarrior tracking status (https://timewarrior.net/) ]############
820- # Timewarrior color.
821- typeset -g POWERLEVEL9K_TIMEWARRIOR_FOREGROUND=110
822- # If the tracked task is longer than 24 characters, truncate and append "โฆ".
823- # Tip: To always display tasks without truncation, delete the following parameter.
824- # Tip: To hide task names and display just the icon when time tracking is enabled, set the
825- # value of the following parameter to "".
826- typeset -g POWERLEVEL9K_TIMEWARRIOR_CONTENT_EXPANSION='${P9K_CONTENT:0:24}${${P9K_CONTENT:24}:+โฆ}'
827-828- # Custom icon.
829- # typeset -g POWERLEVEL9K_TIMEWARRIOR_VISUAL_IDENTIFIER_EXPANSION='โญ'
830-831- ##############[ taskwarrior: taskwarrior task count (https://taskwarrior.org/) ]##############
832- # Taskwarrior color.
833- typeset -g POWERLEVEL9K_TASKWARRIOR_FOREGROUND=74
834-835- # Taskwarrior segment format. The following parameters are available within the expansion.
836- #
837- # - P9K_TASKWARRIOR_PENDING_COUNT The number of pending tasks: `task +PENDING count`.
838- # - P9K_TASKWARRIOR_OVERDUE_COUNT The number of overdue tasks: `task +OVERDUE count`.
839- #
840- # Zero values are represented as empty parameters.
841- #
842- # The default format:
843- #
844- # '${P9K_TASKWARRIOR_OVERDUE_COUNT:+"!$P9K_TASKWARRIOR_OVERDUE_COUNT/"}$P9K_TASKWARRIOR_PENDING_COUNT'
845- #
846- # typeset -g POWERLEVEL9K_TASKWARRIOR_CONTENT_EXPANSION='$P9K_TASKWARRIOR_PENDING_COUNT'
847-848- # Custom icon.
849- # typeset -g POWERLEVEL9K_TASKWARRIOR_VISUAL_IDENTIFIER_EXPANSION='โญ'
850-851- ##################################[ context: user@hostname ]##################################
852- # Context color when running with privileges.
853- typeset -g POWERLEVEL9K_CONTEXT_ROOT_FOREGROUND=178
854- # Context color in SSH without privileges.
855- typeset -g POWERLEVEL9K_CONTEXT_{REMOTE,REMOTE_SUDO}_FOREGROUND=180
856- # Default context color (no privileges, no SSH).
857- typeset -g POWERLEVEL9K_CONTEXT_FOREGROUND=180
858-859- # Context format when running with privileges: bold user@hostname.
860- typeset -g POWERLEVEL9K_CONTEXT_ROOT_TEMPLATE='%B%n@%m'
861- # Context format when in SSH without privileges: user@hostname.
862- typeset -g POWERLEVEL9K_CONTEXT_{REMOTE,REMOTE_SUDO}_TEMPLATE='%n@%m'
863- # Default context format (no privileges, no SSH): user@hostname.
864- typeset -g POWERLEVEL9K_CONTEXT_TEMPLATE='%n@%m'
865-866- # Don't show context unless running with privileges or in SSH.
867- # Tip: Remove the next line to always show context.
868- typeset -g POWERLEVEL9K_CONTEXT_{DEFAULT,SUDO}_{CONTENT,VISUAL_IDENTIFIER}_EXPANSION=
869-870- # Custom icon.
871- # typeset -g POWERLEVEL9K_CONTEXT_VISUAL_IDENTIFIER_EXPANSION='โญ'
872- # Custom prefix.
873- # typeset -g POWERLEVEL9K_CONTEXT_PREFIX='%244Fwith '
874-875- ###[ virtualenv: python virtual environment (https://docs.python.org/3/library/venv.html) ]###
876- # Python virtual environment color.
877- typeset -g POWERLEVEL9K_VIRTUALENV_FOREGROUND=37
878- # Don't show Python version next to the virtual environment name.
879- typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_PYTHON_VERSION=false
880- # Separate environment name from Python version only with a space.
881- typeset -g POWERLEVEL9K_VIRTUALENV_{LEFT,RIGHT}_DELIMITER=
882- # Custom icon.
883- # typeset -g POWERLEVEL9K_VIRTUALENV_VISUAL_IDENTIFIER_EXPANSION='โญ'
884-885- #####################[ anaconda: conda environment (https://conda.io/) ]######################
886- # Anaconda environment color.
887- typeset -g POWERLEVEL9K_ANACONDA_FOREGROUND=37
888- # Don't show Python version next to the anaconda environment name.
889- typeset -g POWERLEVEL9K_ANACONDA_SHOW_PYTHON_VERSION=false
890- # Separate environment name from Python version only with a space.
891- typeset -g POWERLEVEL9K_ANACONDA_{LEFT,RIGHT}_DELIMITER=
892- # Custom icon.
893- # typeset -g POWERLEVEL9K_ANACONDA_VISUAL_IDENTIFIER_EXPANSION='โญ'
894-895- ################[ pyenv: python environment (https://github.com/pyenv/pyenv) ]################
896- # Pyenv color.
897- typeset -g POWERLEVEL9K_PYENV_FOREGROUND=37
898- # Hide python version if it doesn't come from one of these sources.
899- typeset -g POWERLEVEL9K_PYENV_SOURCES=(shell local global)
900- # If set to false, hide python version if it's the same as global:
901- # $(pyenv version-name) == $(pyenv global).
902- typeset -g POWERLEVEL9K_PYENV_PROMPT_ALWAYS_SHOW=false
903- # Custom icon.
904- # typeset -g POWERLEVEL9K_PYENV_VISUAL_IDENTIFIER_EXPANSION='โญ'
905-906- ################[ goenv: go environment (https://github.com/syndbg/goenv) ]################
907- # Goenv color.
908- typeset -g POWERLEVEL9K_GOENV_FOREGROUND=37
909- # Hide go version if it doesn't come from one of these sources.
910- typeset -g POWERLEVEL9K_GOENV_SOURCES=(shell local global)
911- # If set to false, hide go version if it's the same as global:
912- # $(goenv version-name) == $(goenv global).
913- typeset -g POWERLEVEL9K_GOENV_PROMPT_ALWAYS_SHOW=false
914- # Custom icon.
915- # typeset -g POWERLEVEL9K_GOENV_VISUAL_IDENTIFIER_EXPANSION='โญ'
916-917- ##########[ nodenv: node.js version from nodenv (https://github.com/nodenv/nodenv) ]##########
918- # Nodenv color.
919- typeset -g POWERLEVEL9K_NODENV_FOREGROUND=70
920- # Don't show node version if it's the same as global: $(nodenv version-name) == $(nodenv global).
921- typeset -g POWERLEVEL9K_NODENV_PROMPT_ALWAYS_SHOW=false
922- # Custom icon.
923- # typeset -g POWERLEVEL9K_NODENV_VISUAL_IDENTIFIER_EXPANSION='โญ'
924-925- ##############[ nvm: node.js version from nvm (https://github.com/nvm-sh/nvm) ]###############
926- # Nvm color.
927- typeset -g POWERLEVEL9K_NVM_FOREGROUND=70
928- # Custom icon.
929- # typeset -g POWERLEVEL9K_NVM_VISUAL_IDENTIFIER_EXPANSION='โญ'
930-931- ############[ nodeenv: node.js environment (https://github.com/ekalinin/nodeenv) ]############
932- # Nodeenv color.
933- typeset -g POWERLEVEL9K_NODEENV_FOREGROUND=70
934- # Don't show Node version next to the environment name.
935- typeset -g POWERLEVEL9K_NODEENV_SHOW_NODE_VERSION=false
936- # Separate environment name from Node version only with a space.
937- typeset -g POWERLEVEL9K_NODEENV_{LEFT,RIGHT}_DELIMITER=
938- # Custom icon.
939- # typeset -g POWERLEVEL9K_NODEENV_VISUAL_IDENTIFIER_EXPANSION='โญ'
940-941- ##############################[ node_version: node.js version ]###############################
942- # Node version color.
943- typeset -g POWERLEVEL9K_NODE_VERSION_FOREGROUND=70
944- # Show node version only when in a directory tree containing package.json.
945- typeset -g POWERLEVEL9K_NODE_VERSION_PROJECT_ONLY=true
946- # Custom icon.
947- # typeset -g POWERLEVEL9K_NODE_VERSION_VISUAL_IDENTIFIER_EXPANSION='โญ'
948-949- #######################[ go_version: go version (https://golang.org) ]########################
950- # Go version color.
951- typeset -g POWERLEVEL9K_GO_VERSION_FOREGROUND=37
952- # Show go version only when in a go project subdirectory.
953- typeset -g POWERLEVEL9K_GO_VERSION_PROJECT_ONLY=true
954- # Custom icon.
955- # typeset -g POWERLEVEL9K_GO_VERSION_VISUAL_IDENTIFIER_EXPANSION='โญ'
956-957- #################[ rust_version: rustc version (https://www.rust-lang.org) ]##################
958- # Rust version color.
959- typeset -g POWERLEVEL9K_RUST_VERSION_FOREGROUND=37
960- # Show rust version only when in a rust project subdirectory.
961- typeset -g POWERLEVEL9K_RUST_VERSION_PROJECT_ONLY=true
962- # Custom icon.
963- # typeset -g POWERLEVEL9K_RUST_VERSION_VISUAL_IDENTIFIER_EXPANSION='โญ'
964-965- ###############[ dotnet_version: .NET version (https://dotnet.microsoft.com) ]################
966- # .NET version color.
967- typeset -g POWERLEVEL9K_DOTNET_VERSION_FOREGROUND=134
968- # Show .NET version only when in a .NET project subdirectory.
969- typeset -g POWERLEVEL9K_DOTNET_VERSION_PROJECT_ONLY=true
970- # Custom icon.
971- # typeset -g POWERLEVEL9K_DOTNET_VERSION_VISUAL_IDENTIFIER_EXPANSION='โญ'
972-973- #####################[ php_version: php version (https://www.php.net/) ]######################
974- # PHP version color.
975- typeset -g POWERLEVEL9K_PHP_VERSION_FOREGROUND=99
976- # Show PHP version only when in a PHP project subdirectory.
977- typeset -g POWERLEVEL9K_PHP_VERSION_PROJECT_ONLY=true
978- # Custom icon.
979- # typeset -g POWERLEVEL9K_PHP_VERSION_VISUAL_IDENTIFIER_EXPANSION='โญ'
980-981- ##########[ laravel_version: laravel php framework version (https://laravel.com/) ]###########
982- # Laravel version color.
983- typeset -g POWERLEVEL9K_LARAVEL_VERSION_FOREGROUND=161
984- # Custom icon.
985- # typeset -g POWERLEVEL9K_LARAVEL_VERSION_VISUAL_IDENTIFIER_EXPANSION='โญ'
986-987- #############[ rbenv: ruby version from rbenv (https://github.com/rbenv/rbenv) ]##############
988- # Rbenv color.
989- typeset -g POWERLEVEL9K_RBENV_FOREGROUND=168
990- # Hide ruby version if it doesn't come from one of these sources.
991- typeset -g POWERLEVEL9K_RBENV_SOURCES=(shell local global)
992- # If set to false, hide ruby version if it's the same as global:
993- # $(rbenv version-name) == $(rbenv global).
994- typeset -g POWERLEVEL9K_RBENV_PROMPT_ALWAYS_SHOW=false
995- # Custom icon.
996- # typeset -g POWERLEVEL9K_RBENV_VISUAL_IDENTIFIER_EXPANSION='โญ'
997-998- #######################[ rvm: ruby version from rvm (https://rvm.io) ]########################
999- # Rvm color.
1000- typeset -g POWERLEVEL9K_RVM_FOREGROUND=168
1001- # Don't show @gemset at the end.
1002- typeset -g POWERLEVEL9K_RVM_SHOW_GEMSET=false
1003- # Don't show ruby- at the front.
1004- typeset -g POWERLEVEL9K_RVM_SHOW_PREFIX=false
1005- # Custom icon.
1006- # typeset -g POWERLEVEL9K_RVM_VISUAL_IDENTIFIER_EXPANSION='โญ'
1007-1008- ###########[ fvm: flutter version management (https://github.com/leoafarias/fvm) ]############
1009- # Fvm color.
1010- typeset -g POWERLEVEL9K_FVM_FOREGROUND=38
1011- # Custom icon.
1012- # typeset -g POWERLEVEL9K_FVM_VISUAL_IDENTIFIER_EXPANSION='โญ'
1013-1014- ##########[ luaenv: lua version from luaenv (https://github.com/cehoffman/luaenv) ]###########
1015- # Lua color.
1016- typeset -g POWERLEVEL9K_LUAENV_FOREGROUND=32
1017- # Hide lua version if it doesn't come from one of these sources.
1018- typeset -g POWERLEVEL9K_LUAENV_SOURCES=(shell local global)
1019- # If set to false, hide lua version if it's the same as global:
1020- # $(luaenv version-name) == $(luaenv global).
1021- typeset -g POWERLEVEL9K_LUAENV_PROMPT_ALWAYS_SHOW=false
1022- # Custom icon.
1023- # typeset -g POWERLEVEL9K_LUAENV_VISUAL_IDENTIFIER_EXPANSION='โญ'
1024-1025- ###############[ jenv: java version from jenv (https://github.com/jenv/jenv) ]################
1026- # Java color.
1027- typeset -g POWERLEVEL9K_JENV_FOREGROUND=32
1028- # Hide java version if it doesn't come from one of these sources.
1029- typeset -g POWERLEVEL9K_JENV_SOURCES=(shell local global)
1030- # If set to false, hide java version if it's the same as global:
1031- # $(jenv version-name) == $(jenv global).
1032- typeset -g POWERLEVEL9K_JENV_PROMPT_ALWAYS_SHOW=false
1033- # Custom icon.
1034- # typeset -g POWERLEVEL9K_JENV_VISUAL_IDENTIFIER_EXPANSION='โญ'
1035-1036- ###########[ plenv: perl version from plenv (https://github.com/tokuhirom/plenv) ]############
1037- # Perl color.
1038- typeset -g POWERLEVEL9K_PLENV_FOREGROUND=67
1039- # Hide perl version if it doesn't come from one of these sources.
1040- typeset -g POWERLEVEL9K_PLENV_SOURCES=(shell local global)
1041- # If set to false, hide perl version if it's the same as global:
1042- # $(plenv version-name) == $(plenv global).
1043- typeset -g POWERLEVEL9K_PLENV_PROMPT_ALWAYS_SHOW=false
1044- # Custom icon.
1045- # typeset -g POWERLEVEL9K_PLENV_VISUAL_IDENTIFIER_EXPANSION='โญ'
1046-1047- ############[ phpenv: php version from phpenv (https://github.com/phpenv/phpenv) ]############
1048- # PHP color.
1049- typeset -g POWERLEVEL9K_PHPENV_FOREGROUND=99
1050- # Hide php version if it doesn't come from one of these sources.
1051- typeset -g POWERLEVEL9K_PHPENV_SOURCES=(shell local global)
1052- # If set to false, hide php version if it's the same as global:
1053- # $(phpenv version-name) == $(phpenv global).
1054- typeset -g POWERLEVEL9K_PHPENV_PROMPT_ALWAYS_SHOW=false
1055- # Custom icon.
1056- # typeset -g POWERLEVEL9K_PHPENV_VISUAL_IDENTIFIER_EXPANSION='โญ'
1057-1058- ################[ terraform: terraform workspace (https://www.terraform.io) ]#################
1059- # POWERLEVEL9K_TERRAFORM_CLASSES is an array with even number of elements. The first element
1060- # in each pair defines a pattern against which the current terraform workspace gets matched.
1061- # More specifically, it's P9K_CONTENT prior to the application of context expansion (see below)
1062- # that gets matched. If you unset all POWERLEVEL9K_TERRAFORM_*CONTENT_EXPANSION parameters,
1063- # you'll see this value in your prompt. The second element of each pair in
1064- # POWERLEVEL9K_TERRAFORM_CLASSES defines the workspace class. Patterns are tried in order. The
1065- # first match wins.
1066- #
1067- # For example, given these settings:
1068- #
1069- # typeset -g POWERLEVEL9K_TERRAFORM_CLASSES=(
1070- # '*prod*' PROD
1071- # '*test*' TEST
1072- # '*' DEFAULT)
1073- #
1074- # If your current terraform workspace is "project_test", its class is TEST because "project_test"
1075- # doesn't match the pattern '*prod*' but does match '*test*'.
1076- #
1077- # You can define different colors, icons and content expansions for different classes:
1078- #
1079- # typeset -g POWERLEVEL9K_TERRAFORM_TEST_FOREGROUND=28
1080- # typeset -g POWERLEVEL9K_TERRAFORM_TEST_VISUAL_IDENTIFIER_EXPANSION='โญ'
1081- # typeset -g POWERLEVEL9K_TERRAFORM_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <'
1082- typeset -g POWERLEVEL9K_TERRAFORM_CLASSES=(
1083- # '*prod*' PROD # These values are examples that are unlikely
1084- # '*test*' TEST # to match your needs. Customize them as needed.
1085- '*' DEFAULT)
1086- typeset -g POWERLEVEL9K_TERRAFORM_DEFAULT_FOREGROUND=38
1087- # typeset -g POWERLEVEL9K_TERRAFORM_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='โญ'
1088-1089- #############[ kubecontext: current kubernetes context (https://kubernetes.io/) ]#############
1090- # Show kubecontext only when the the command you are typing invokes one of these tools.
1091- # Tip: Remove the next line to always show kubecontext.
1092- typeset -g POWERLEVEL9K_KUBECONTEXT_SHOW_ON_COMMAND='kubectl|helm|kubens|kubectx|oc'
1093-1094- # Kubernetes context classes for the purpose of using different colors, icons and expansions with
1095- # different contexts.
1096- #
1097- # POWERLEVEL9K_KUBECONTEXT_CLASSES is an array with even number of elements. The first element
1098- # in each pair defines a pattern against which the current kubernetes context gets matched.
1099- # More specifically, it's P9K_CONTENT prior to the application of context expansion (see below)
1100- # that gets matched. If you unset all POWERLEVEL9K_KUBECONTEXT_*CONTENT_EXPANSION parameters,
1101- # you'll see this value in your prompt. The second element of each pair in
1102- # POWERLEVEL9K_KUBECONTEXT_CLASSES defines the context class. Patterns are tried in order. The
1103- # first match wins.
1104- #
1105- # For example, given these settings:
1106- #
1107- # typeset -g POWERLEVEL9K_KUBECONTEXT_CLASSES=(
1108- # '*prod*' PROD
1109- # '*test*' TEST
1110- # '*' DEFAULT)
1111- #
1112- # If your current kubernetes context is "deathray-testing/default", its class is TEST
1113- # because "deathray-testing/default" doesn't match the pattern '*prod*' but does match '*test*'.
1114- #
1115- # You can define different colors, icons and content expansions for different classes:
1116- #
1117- # typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_FOREGROUND=28
1118- # typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_VISUAL_IDENTIFIER_EXPANSION='โญ'
1119- # typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <'
1120- typeset -g POWERLEVEL9K_KUBECONTEXT_CLASSES=(
1121- # '*prod*' PROD # These values are examples that are unlikely
1122- # '*test*' TEST # to match your needs. Customize them as needed.
1123- '*' DEFAULT)
1124- typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_FOREGROUND=134
1125- typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='โ'
1126-1127- # Use POWERLEVEL9K_KUBECONTEXT_CONTENT_EXPANSION to specify the content displayed by kubecontext
1128- # segment. Parameter expansions are very flexible and fast, too. See reference:
1129- # http://zsh.sourceforge.net/Doc/Release/Expansion.html#Parameter-Expansion.
1130- #
1131- # Within the expansion the following parameters are always available:
1132- #
1133- # - P9K_CONTENT The content that would've been displayed if there was no content
1134- # expansion defined.
1135- # - P9K_KUBECONTEXT_NAME The current context's name. Corresponds to column NAME in the
1136- # output of `kubectl config get-contexts`.
1137- # - P9K_KUBECONTEXT_CLUSTER The current context's cluster. Corresponds to column CLUSTER in the
1138- # output of `kubectl config get-contexts`.
1139- # - P9K_KUBECONTEXT_NAMESPACE The current context's namespace. Corresponds to column NAMESPACE
1140- # in the output of `kubectl config get-contexts`. If there is no
1141- # namespace, the parameter is set to "default".
1142- # - P9K_KUBECONTEXT_USER The current context's user. Corresponds to column AUTHINFO in the
1143- # output of `kubectl config get-contexts`.
1144- #
1145- # If the context points to Google Kubernetes Engine (GKE) or Elastic Kubernetes Service (EKS),
1146- # the following extra parameters are available:
1147- #
1148- # - P9K_KUBECONTEXT_CLOUD_NAME Either "gke" or "eks".
1149- # - P9K_KUBECONTEXT_CLOUD_ACCOUNT Account/project ID.
1150- # - P9K_KUBECONTEXT_CLOUD_ZONE Availability zone.
1151- # - P9K_KUBECONTEXT_CLOUD_CLUSTER Cluster.
1152- #
1153- # P9K_KUBECONTEXT_CLOUD_* parameters are derived from P9K_KUBECONTEXT_CLUSTER. For example,
1154- # if P9K_KUBECONTEXT_CLUSTER is "gke_my-account_us-east1-a_my-cluster-01":
1155- #
1156- # - P9K_KUBECONTEXT_CLOUD_NAME=gke
1157- # - P9K_KUBECONTEXT_CLOUD_ACCOUNT=my-account
1158- # - P9K_KUBECONTEXT_CLOUD_ZONE=us-east1-a
1159- # - P9K_KUBECONTEXT_CLOUD_CLUSTER=my-cluster-01
1160- #
1161- # If P9K_KUBECONTEXT_CLUSTER is "arn:aws:eks:us-east-1:123456789012:cluster/my-cluster-01":
1162- #
1163- # - P9K_KUBECONTEXT_CLOUD_NAME=eks
1164- # - P9K_KUBECONTEXT_CLOUD_ACCOUNT=123456789012
1165- # - P9K_KUBECONTEXT_CLOUD_ZONE=us-east-1
1166- # - P9K_KUBECONTEXT_CLOUD_CLUSTER=my-cluster-01
1167- typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION=
1168- # Show P9K_KUBECONTEXT_CLOUD_CLUSTER if it's not empty and fall back to P9K_KUBECONTEXT_NAME.
1169- POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION+='${P9K_KUBECONTEXT_CLOUD_CLUSTER:-${P9K_KUBECONTEXT_NAME}}'
1170- # Append the current context's namespace if it's not "default".
1171- POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION+='${${:-/$P9K_KUBECONTEXT_NAMESPACE}:#/default}'
1172-1173- # Custom prefix.
1174- # typeset -g POWERLEVEL9K_KUBECONTEXT_PREFIX='%244Fat '
1175-1176- #[ aws: aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) ]#
1177- # Show aws only when the the command you are typing invokes one of these tools.
1178- # Tip: Remove the next line to always show aws.
1179- typeset -g POWERLEVEL9K_AWS_SHOW_ON_COMMAND='aws|awless|terraform|pulumi'
1180-1181- # POWERLEVEL9K_AWS_CLASSES is an array with even number of elements. The first element
1182- # in each pair defines a pattern against which the current AWS profile gets matched.
1183- # More specifically, it's P9K_CONTENT prior to the application of context expansion (see below)
1184- # that gets matched. If you unset all POWERLEVEL9K_AWS_*CONTENT_EXPANSION parameters,
1185- # you'll see this value in your prompt. The second element of each pair in
1186- # POWERLEVEL9K_AWS_CLASSES defines the profile class. Patterns are tried in order. The
1187- # first match wins.
1188- #
1189- # For example, given these settings:
1190- #
1191- # typeset -g POWERLEVEL9K_AWS_CLASSES=(
1192- # '*prod*' PROD
1193- # '*test*' TEST
1194- # '*' DEFAULT)
1195- #
1196- # If your current AWS profile is "company_test", its class is TEST
1197- # because "company_test" doesn't match the pattern '*prod*' but does match '*test*'.
1198- #
1199- # You can define different colors, icons and content expansions for different classes:
1200- #
1201- # typeset -g POWERLEVEL9K_AWS_TEST_FOREGROUND=28
1202- # typeset -g POWERLEVEL9K_AWS_TEST_VISUAL_IDENTIFIER_EXPANSION='โญ'
1203- # typeset -g POWERLEVEL9K_AWS_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <'
1204- typeset -g POWERLEVEL9K_AWS_CLASSES=(
1205- # '*prod*' PROD # These values are examples that are unlikely
1206- # '*test*' TEST # to match your needs. Customize them as needed.
1207- '*' DEFAULT)
1208- typeset -g POWERLEVEL9K_AWS_DEFAULT_FOREGROUND=208
1209- # typeset -g POWERLEVEL9K_AWS_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='โญ'
1210-1211- #[ aws_eb_env: aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/) ]#
1212- # AWS Elastic Beanstalk environment color.
1213- typeset -g POWERLEVEL9K_AWS_EB_ENV_FOREGROUND=70
1214- # Custom icon.
1215- typeset -g POWERLEVEL9K_AWS_EB_ENV_VISUAL_IDENTIFIER_EXPANSION='eb'
1216-1217- ##########[ azure: azure account name (https://docs.microsoft.com/en-us/cli/azure) ]##########
1218- # Show azure only when the the command you are typing invokes one of these tools.
1219- # Tip: Remove the next line to always show azure.
1220- typeset -g POWERLEVEL9K_AZURE_SHOW_ON_COMMAND='az|terraform|pulumi'
1221- # Azure account name color.
1222- typeset -g POWERLEVEL9K_AZURE_FOREGROUND=32
1223- # Custom icon.
1224- typeset -g POWERLEVEL9K_AZURE_VISUAL_IDENTIFIER_EXPANSION='az'
1225-1226- ##########[ gcloud: google cloud account and project (https://cloud.google.com/) ]###########
1227- # Show gcloud only when the the command you are typing invokes one of these tools.
1228- # Tip: Remove the next line to always show gcloud.
1229- typeset -g POWERLEVEL9K_GCLOUD_SHOW_ON_COMMAND='gcloud|gcs'
1230- # Google cloud color.
1231- typeset -g POWERLEVEL9K_GCLOUD_FOREGROUND=32
1232-1233- # Google cloud format. Change the value of POWERLEVEL9K_GCLOUD_CONTENT_EXPANSION if the default
1234- # is too verbose or not informative enough.
1235- #
1236- # P9K_GCLOUD_ACCOUNT: the output of `gcloud config get-value account`
1237- # P9K_GCLOUD_PROJECT: the output of `gcloud config get-value project`
1238- # ${VARIABLE//\%/%%}: ${VARIABLE} with all occurences of '%' replaced with '%%'.
1239- #
1240- typeset -g POWERLEVEL9K_GCLOUD_CONTENT_EXPANSION='${P9K_GCLOUD_PROJECT//\%/%%}'
1241-1242- # Custom icon.
1243- # typeset -g POWERLEVEL9K_GCLOUD_VISUAL_IDENTIFIER_EXPANSION='โญ'
1244-1245- #[ google_app_cred: google application credentials (https://cloud.google.com/docs/authentication/production) ]#
1246- # Show google_app_cred only when the the command you are typing invokes one of these tools.
1247- # Tip: Remove the next line to always show google_app_cred.
1248- typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_SHOW_ON_COMMAND='terraform|pulumi'
1249-1250- # Google application credentials classes for the purpose of using different colors, icons and
1251- # expansions with different credentials.
1252- #
1253- # POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES is an array with even number of elements. The first
1254- # element in each pair defines a pattern against which the current kubernetes context gets
1255- # matched. More specifically, it's P9K_CONTENT prior to the application of context expansion
1256- # (see below) that gets matched. If you unset all POWERLEVEL9K_GOOGLE_APP_CRED_*CONTENT_EXPANSION
1257- # parameters, you'll see this value in your prompt. The second element of each pair in
1258- # POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES defines the context class. Patterns are tried in order.
1259- # The first match wins.
1260- #
1261- # For example, given these settings:
1262- #
1263- # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES=(
1264- # '*:*prod*:*' PROD
1265- # '*:*test*:*' TEST
1266- # '*' DEFAULT)
1267- #
1268- # If your current Google application credentials is "service_account deathray-testing x@y.com",
1269- # its class is TEST because it doesn't match the pattern '* *prod* *' but does match '* *test* *'.
1270- #
1271- # You can define different colors, icons and content expansions for different classes:
1272- #
1273- # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_TEST_FOREGROUND=28
1274- # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_TEST_VISUAL_IDENTIFIER_EXPANSION='โญ'
1275- # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_TEST_CONTENT_EXPANSION='$P9K_GOOGLE_APP_CRED_PROJECT_ID'
1276- typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES=(
1277- # '*:*prod*:*' PROD # These values are examples that are unlikely
1278- # '*:*test*:*' TEST # to match your needs. Customize them as needed.
1279- '*' DEFAULT)
1280- typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_FOREGROUND=32
1281- # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='โญ'
1282-1283- # Use POWERLEVEL9K_GOOGLE_APP_CRED_CONTENT_EXPANSION to specify the content displayed by
1284- # google_app_cred segment. Parameter expansions are very flexible and fast, too. See reference:
1285- # http://zsh.sourceforge.net/Doc/Release/Expansion.html#Parameter-Expansion.
1286- #
1287- # You can use the following parameters in the expansion. Each of them corresponds to one of the
1288- # fields in the JSON file pointed to by GOOGLE_APPLICATION_CREDENTIALS.
1289- #
1290- # Parameter | JSON key file field
1291- # ---------------------------------+---------------
1292- # P9K_GOOGLE_APP_CRED_TYPE | type
1293- # P9K_GOOGLE_APP_CRED_PROJECT_ID | project_id
1294- # P9K_GOOGLE_APP_CRED_CLIENT_EMAIL | client_email
1295- #
1296- # Note: ${VARIABLE//\%/%%} expands to ${VARIABLE} with all occurences of '%' replaced by '%%'.
1297- typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_CONTENT_EXPANSION='${P9K_GOOGLE_APP_CRED_PROJECT_ID//\%/%%}'
1298-1299- ###############################[ public_ip: public IP address ]###############################
1300- # Public IP color.
1301- typeset -g POWERLEVEL9K_PUBLIC_IP_FOREGROUND=94
1302- # Custom icon.
1303- # typeset -g POWERLEVEL9K_PUBLIC_IP_VISUAL_IDENTIFIER_EXPANSION='โญ'
1304-1305- ########################[ vpn_ip: virtual private network indicator ]#########################
1306- # VPN IP color.
1307- typeset -g POWERLEVEL9K_VPN_IP_FOREGROUND=81
1308- # When on VPN, show just an icon without the IP address.
1309- # Tip: To display the private IP address when on VPN, remove the next line.
1310- typeset -g POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION=
1311- # Regular expression for the VPN network interface. Run `ifconfig` or `ip -4 a show` while on VPN
1312- # to see the name of the interface.
1313- typeset -g POWERLEVEL9K_VPN_IP_INTERFACE='(wg|(.*tun))[0-9]*'
1314- # If set to true, show one segment per matching network interface. If set to false, show only
1315- # one segment corresponding to the first matching network interface.
1316- # Tip: If you set it to true, you'll probably want to unset POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION.
1317- typeset -g POWERLEVEL9K_VPN_IP_SHOW_ALL=false
1318- # Custom icon.
1319- # typeset -g POWERLEVEL9K_VPN_IP_VISUAL_IDENTIFIER_EXPANSION='โญ'
1320-1321- ###########[ ip: ip address and bandwidth usage for a specified network interface ]###########
1322- # IP color.
1323- typeset -g POWERLEVEL9K_IP_FOREGROUND=38
1324- # The following parameters are accessible within the expansion:
1325- #
1326- # Parameter | Meaning
1327- # ----------------------+---------------
1328- # P9K_IP_IP | IP address
1329- # P9K_IP_INTERFACE | network interface
1330- # P9K_IP_RX_BYTES | total number of bytes received
1331- # P9K_IP_TX_BYTES | total number of bytes sent
1332- # P9K_IP_RX_RATE | receive rate (since last prompt)
1333- # P9K_IP_TX_RATE | send rate (since last prompt)
1334- typeset -g POWERLEVEL9K_IP_CONTENT_EXPANSION='${P9K_IP_RX_RATE:+%70Fโฃ$P9K_IP_RX_RATE }${P9K_IP_TX_RATE:+%215Fโก$P9K_IP_TX_RATE }%38F$P9K_IP_IP'
1335- # Show information for the first network interface whose name matches this regular expression.
1336- # Run `ifconfig` or `ip -4 a show` to see the names of all network interfaces.
1337- typeset -g POWERLEVEL9K_IP_INTERFACE='e.*'
1338- # Custom icon.
1339- # typeset -g POWERLEVEL9K_IP_VISUAL_IDENTIFIER_EXPANSION='โญ'
1340-1341- #########################[ proxy: system-wide http/https/ftp proxy ]##########################
1342- # Proxy color.
1343- typeset -g POWERLEVEL9K_PROXY_FOREGROUND=68
1344- # Custom icon.
1345- # typeset -g POWERLEVEL9K_PROXY_VISUAL_IDENTIFIER_EXPANSION='โญ'
1346-1347- ################################[ battery: internal battery ]#################################
1348- # Show battery in red when it's below this level and not connected to power supply.
1349- typeset -g POWERLEVEL9K_BATTERY_LOW_THRESHOLD=20
1350- typeset -g POWERLEVEL9K_BATTERY_LOW_FOREGROUND=160
1351- # Show battery in green when it's charging or fully charged.
1352- typeset -g POWERLEVEL9K_BATTERY_{CHARGING,CHARGED}_FOREGROUND=70
1353- # Show battery in yellow when it's discharging.
1354- typeset -g POWERLEVEL9K_BATTERY_DISCONNECTED_FOREGROUND=178
1355- # Battery pictograms going from low to high level of charge.
1356- typeset -g POWERLEVEL9K_BATTERY_STAGES=('%K{232}โ' '%K{232}โ' '%K{232}โ' '%K{232}โ' '%K{232}โ ' '%K{232}โ' '%K{232}โ' '%K{232}โ')
1357- # Don't show the remaining time to charge/discharge.
1358- typeset -g POWERLEVEL9K_BATTERY_VERBOSE=false
1359-1360- #####################################[ wifi: wifi speed ]#####################################
1361- # WiFi color.
1362- typeset -g POWERLEVEL9K_WIFI_FOREGROUND=68
1363- # Custom icon.
1364- # typeset -g POWERLEVEL9K_WIFI_VISUAL_IDENTIFIER_EXPANSION='โญ'
1365-1366- # Use different colors and icons depending on signal strength ($P9K_WIFI_BARS).
1367- #
1368- # # Wifi colors and icons for different signal strength levels (low to high).
1369- # typeset -g my_wifi_fg=(68 68 68 68 68) # <-- change these values
1370- # typeset -g my_wifi_icon=('WiFi' 'WiFi' 'WiFi' 'WiFi' 'WiFi') # <-- change these values
1371- #
1372- # typeset -g POWERLEVEL9K_WIFI_CONTENT_EXPANSION='%F{${my_wifi_fg[P9K_WIFI_BARS+1]}}$P9K_WIFI_LAST_TX_RATE Mbps'
1373- # typeset -g POWERLEVEL9K_WIFI_VISUAL_IDENTIFIER_EXPANSION='%F{${my_wifi_fg[P9K_WIFI_BARS+1]}}${my_wifi_icon[P9K_WIFI_BARS+1]}'
1374- #
1375- # The following parameters are accessible within the expansions:
1376- #
1377- # Parameter | Meaning
1378- # ----------------------+---------------
1379- # P9K_WIFI_SSID | service set identifier, a.k.a. network name
1380- # P9K_WIFI_LINK_AUTH | authentication protocol such as "wpa2-psk" or "none"
1381- # P9K_WIFI_LAST_TX_RATE | wireless transmit rate in megabits per second
1382- # P9K_WIFI_RSSI | signal strength in dBm, from -120 to 0
1383- # P9K_WIFI_NOISE | noise in dBm, from -120 to 0
1384- # P9K_WIFI_BARS | signal strength in bars, from 0 to 4 (derived from P9K_WIFI_RSSI and P9K_WIFI_NOISE)
1385- #
1386- # All parameters except P9K_WIFI_BARS are extracted from the output of the following command:
1387- #
1388- # /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I
1389-1390- ####################################[ time: current time ]####################################
1391- # Current time color.
1392- typeset -g POWERLEVEL9K_TIME_FOREGROUND=66
1393- # Format for the current time: 09:51:02. See `man 3 strftime`.
1394- typeset -g POWERLEVEL9K_TIME_FORMAT='%D{%H:%M:%S}'
1395- # If set to true, time will update when you hit enter. This way prompts for the past
1396- # commands will contain the start times of their commands as opposed to the default
1397- # behavior where they contain the end times of their preceding commands.
1398- typeset -g POWERLEVEL9K_TIME_UPDATE_ON_COMMAND=false
1399- # Custom icon.
1400- typeset -g POWERLEVEL9K_TIME_VISUAL_IDENTIFIER_EXPANSION=
1401- # Custom prefix.
1402- # typeset -g POWERLEVEL9K_TIME_PREFIX='%244Fat '
1403-1404- # Example of a user-defined prompt segment. Function prompt_example will be called on every
1405- # prompt if `example` prompt segment is added to POWERLEVEL9K_LEFT_PROMPT_ELEMENTS or
1406- # POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS. It displays an icon and orange text greeting the user.
1407- #
1408- # Type `p10k help segment` for documentation and a more sophisticated example.
1409- function prompt_example() {
1410- p10k segment -f 208 -i 'โญ' -t 'hello, %n'
1411- }
1412-1413- # User-defined prompt segments may optionally provide an instant_prompt_* function. Its job
1414- # is to generate the prompt segment for display in instant prompt. See
1415- # https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt.
1416- #
1417- # Powerlevel10k will call instant_prompt_* at the same time as the regular prompt_* function
1418- # and will record all `p10k segment` calls it makes. When displaying instant prompt, Powerlevel10k
1419- # will replay these calls without actually calling instant_prompt_*. It is imperative that
1420- # instant_prompt_* always makes the same `p10k segment` calls regardless of environment. If this
1421- # rule is not observed, the content of instant prompt will be incorrect.
1422- #
1423- # Usually, you should either not define instant_prompt_* or simply call prompt_* from it. If
1424- # instant_prompt_* is not defined for a segment, the segment won't be shown in instant prompt.
1425- function instant_prompt_example() {
1426- # Since prompt_example always makes the same `p10k segment` calls, we can call it from
1427- # instant_prompt_example. This will give us the same `example` prompt segment in the instant
1428- # and regular prompts.
1429- prompt_example
1430- }
1431-1432- # User-defined prompt segments can be customized the same way as built-in segments.
1433- # typeset -g POWERLEVEL9K_EXAMPLE_FOREGROUND=208
1434- # typeset -g POWERLEVEL9K_EXAMPLE_VISUAL_IDENTIFIER_EXPANSION='โญ'
1435-1436- # Transient prompt works similarly to the builtin transient_rprompt option. It trims down prompt
1437- # when accepting a command line. Supported values:
1438- #
1439- # - off: Don't change prompt when accepting a command line.
1440- # - always: Trim down prompt when accepting a command line.
1441- # - same-dir: Trim down prompt when accepting a command line unless this is the first command
1442- # typed after changing current working directory.
1443- typeset -g POWERLEVEL9K_TRANSIENT_PROMPT=always
1444-1445- # Instant prompt mode.
1446- #
1447- # - off: Disable instant prompt. Choose this if you've tried instant prompt and found
1448- # it incompatible with your zsh configuration files.
1449- # - quiet: Enable instant prompt and don't print warnings when detecting console output
1450- # during zsh initialization. Choose this if you've read and understood
1451- # https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt.
1452- # - verbose: Enable instant prompt and print a warning when detecting console output during
1453- # zsh initialization. Choose this if you've never tried instant prompt, haven't
1454- # seen the warning, or if you are unsure what this all means.
1455- typeset -g POWERLEVEL9K_INSTANT_PROMPT=off
1456-1457- # Hot reload allows you to change POWERLEVEL9K options after Powerlevel10k has been initialized.
1458- # For example, you can type POWERLEVEL9K_BACKGROUND=red and see your prompt turn red. Hot reload
1459- # can slow down prompt by 1-2 milliseconds, so it's better to keep it turned off unless you
1460- # really need it.
1461- typeset -g POWERLEVEL9K_DISABLE_HOT_RELOAD=true
1462-1463- # If p10k is already loaded, reload configuration.
1464- # This works even with POWERLEVEL9K_DISABLE_HOT_RELOAD=true.
1465- (( ! $+functions[p10k] )) || p10k reload
1466-}
1467-1468-(( ${#p10k_config_opts} )) && setopt ${p10k_config_opts[@]}
1469-'builtin' 'unset' 'p10k_config_opts'
···1+_: {pkgs, ...}: {
2+ xdg.configFile."ghostty/config".text =
3+ # toml
4+ ''
5+ font-family = "Departure Mono"
6+7+ ## uncomment once keybindings have been set to something I am familiar
8+ ## with. The bar contains the menu, which I need for splits for nowโฆ
9+ # gtk-titlebar = false
10+11+ theme = "catppuccin-mocha"
12+ '';
13+14+ home.packages = [pkgs.ghostty];
15+}
+2-2
home/modules/programs/nixpkgs/default.nix
···6 allowed = config.nixpkgs.allowedUnfree;
7in {
8 options.nixpkgs.allowedUnfree = lib.mkOption {
9- type = lib.types.listOf lib.types.string;
10 default = [];
11 description = ''
12 Allows for unfree packages by their name.
···16 config.nixpkgs.config.allowUnfreePredicate =
17 if (allowed == [])
18 then (_: false)
19- else (pkg: __elem (lib.getName pkg) allowed);
20}
···6 allowed = config.nixpkgs.allowedUnfree;
7in {
8 options.nixpkgs.allowedUnfree = lib.mkOption {
9+ type = lib.types.listOf lib.types.str;
10 default = [];
11 description = ''
12 Allows for unfree packages by their name.
···16 config.nixpkgs.config.allowUnfreePredicate =
17 if (allowed == [])
18 then (_: false)
19+ else (pkg: builtins.elem (lib.getName pkg) allowed);
20}
···1+# Generated by Powerlevel10k configuration wizard on 2023-03-14 at 22:38 CET.
2+# Based on romkatv/powerlevel10k/config/p10k-classic.zsh.
3+# Wizard options: powerline, classic, unicode, darkest, 24h time, angled separators,
4+# blurred heads, flat tails, 2 lines, solid, full frame, compact, concise,
5+# transient_prompt, instant_prompt=verbose.
6+# Type `p10k configure` to generate another config.
7+#
8+# Config for Powerlevel10k with classic powerline prompt style. Type `p10k configure` to generate
9+# your own config based on it.
10+#
11+# Tip: Looking for a nice color? Here's a one-liner to print colormap.
12+#
13+# for i in {0..255}; do print -Pn "%K{$i} %k%F{$i}${(l:3::0:)i}%f " ${${(M)$((i%6)):#3}:+$'\n'}; done
14+15+# Temporarily change options.
16+'builtin' 'local' '-a' 'p10k_config_opts'
17+[[ ! -o 'aliases' ]] || p10k_config_opts+=('aliases')
18+[[ ! -o 'sh_glob' ]] || p10k_config_opts+=('sh_glob')
19+[[ ! -o 'no_brace_expand' ]] || p10k_config_opts+=('no_brace_expand')
20+'builtin' 'setopt' 'no_aliases' 'no_sh_glob' 'brace_expand'
21+22+() {
23+ emulate -L zsh -o extended_glob
24+25+ # Unset all configuration options. This allows you to apply configuration changes without
26+ # restarting zsh. Edit ~/.p10k.zsh and type `source ~/.p10k.zsh`.
27+ unset -m '(POWERLEVEL9K_*|DEFAULT_USER)~POWERLEVEL9K_GITSTATUS_DIR'
28+29+ # Zsh >= 5.1 is required.
30+ [[ $ZSH_VERSION == (5.<1->*|<6->.*) ]] || return
31+32+ # The list of segments shown on the left. Fill it with the most important segments.
33+ typeset -g POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(
34+ # =========================[ Line #1 ]=========================
35+ # os_icon # os identifier
36+ dir # current directory
37+ vcs # git status
38+ # =========================[ Line #2 ]=========================
39+ newline # \n
40+ # prompt_char # prompt symbol
41+ )
42+43+ # The list of segments shown on the right. Fill it with less important segments.
44+ # Right prompt on the last prompt line (where you are typing your commands) gets
45+ # automatically hidden when the input line reaches it. Right prompt above the
46+ # last prompt line gets hidden if it would overlap with left prompt.
47+ typeset -g POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(
48+ # =========================[ Line #1 ]=========================
49+ status # exit code of the last command
50+ command_execution_time # duration of the last command
51+ background_jobs # presence of background jobs
52+ direnv # direnv status (https://direnv.net/)
53+ asdf # asdf version manager (https://github.com/asdf-vm/asdf)
54+ virtualenv # python virtual environment (https://docs.python.org/3/library/venv.html)
55+ anaconda # conda environment (https://conda.io/)
56+ pyenv # python environment (https://github.com/pyenv/pyenv)
57+ goenv # go environment (https://github.com/syndbg/goenv)
58+ nodenv # node.js version from nodenv (https://github.com/nodenv/nodenv)
59+ nvm # node.js version from nvm (https://github.com/nvm-sh/nvm)
60+ nodeenv # node.js environment (https://github.com/ekalinin/nodeenv)
61+ # node_version # node.js version
62+ # go_version # go version (https://golang.org)
63+ # rust_version # rustc version (https://www.rust-lang.org)
64+ # dotnet_version # .NET version (https://dotnet.microsoft.com)
65+ # php_version # php version (https://www.php.net/)
66+ # laravel_version # laravel php framework version (https://laravel.com/)
67+ # java_version # java version (https://www.java.com/)
68+ # package # name@version from package.json (https://docs.npmjs.com/files/package.json)
69+ rbenv # ruby version from rbenv (https://github.com/rbenv/rbenv)
70+ rvm # ruby version from rvm (https://rvm.io)
71+ fvm # flutter version management (https://github.com/leoafarias/fvm)
72+ luaenv # lua version from luaenv (https://github.com/cehoffman/luaenv)
73+ jenv # java version from jenv (https://github.com/jenv/jenv)
74+ plenv # perl version from plenv (https://github.com/tokuhirom/plenv)
75+ perlbrew # perl version from perlbrew (https://github.com/gugod/App-perlbrew)
76+ phpenv # php version from phpenv (https://github.com/phpenv/phpenv)
77+ scalaenv # scala version from scalaenv (https://github.com/scalaenv/scalaenv)
78+ haskell_stack # haskell version from stack (https://haskellstack.org/)
79+ kubecontext # current kubernetes context (https://kubernetes.io/)
80+ terraform # terraform workspace (https://www.terraform.io)
81+ # terraform_version # terraform version (https://www.terraform.io)
82+ aws # aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html)
83+ aws_eb_env # aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/)
84+ azure # azure account name (https://docs.microsoft.com/en-us/cli/azure)
85+ gcloud # google cloud cli account and project (https://cloud.google.com/)
86+ google_app_cred # google application credentials (https://cloud.google.com/docs/authentication/production)
87+ toolbox # toolbox name (https://github.com/containers/toolbox)
88+ context # user@hostname
89+ nordvpn # nordvpn connection status, linux only (https://nordvpn.com/)
90+ ranger # ranger shell (https://github.com/ranger/ranger)
91+ nnn # nnn shell (https://github.com/jarun/nnn)
92+ lf # lf shell (https://github.com/gokcehan/lf)
93+ xplr # xplr shell (https://github.com/sayanarijit/xplr)
94+ vim_shell # vim shell indicator (:sh)
95+ midnight_commander # midnight commander shell (https://midnight-commander.org/)
96+ nix_shell # nix shell (https://nixos.org/nixos/nix-pills/developing-with-nix-shell.html)
97+ vi_mode # vi mode (you don't need this if you've enabled prompt_char)
98+ # vpn_ip # virtual private network indicator
99+ # load # CPU load
100+ # disk_usage # disk usage
101+ # ram # free RAM
102+ # swap # used swap
103+ todo # todo items (https://github.com/todotxt/todo.txt-cli)
104+ timewarrior # timewarrior tracking status (https://timewarrior.net/)
105+ taskwarrior # taskwarrior task count (https://taskwarrior.org/)
106+ # cpu_arch # CPU architecture
107+ time # current time
108+ # =========================[ Line #2 ]=========================
109+ newline # \n
110+ # ip # ip address and bandwidth usage for a specified network interface
111+ # public_ip # public IP address
112+ # proxy # system-wide http/https/ftp proxy
113+ # battery # internal battery
114+ # wifi # wifi speed
115+ # example # example user-defined segment (see prompt_example function below)
116+ )
117+118+ # Defines character set used by powerlevel10k. It's best to let `p10k configure` set it for you.
119+ typeset -g POWERLEVEL9K_MODE=powerline
120+ # When set to `moderate`, some icons will have an extra space after them. This is meant to avoid
121+ # icon overlap when using non-monospace fonts. When set to `none`, spaces are not added.
122+ typeset -g POWERLEVEL9K_ICON_PADDING=none
123+124+ # When set to true, icons appear before content on both sides of the prompt. When set
125+ # to false, icons go after content. If empty or not set, icons go before content in the left
126+ # prompt and after content in the right prompt.
127+ #
128+ # You can also override it for a specific segment:
129+ #
130+ # POWERLEVEL9K_STATUS_ICON_BEFORE_CONTENT=false
131+ #
132+ # Or for a specific segment in specific state:
133+ #
134+ # POWERLEVEL9K_DIR_NOT_WRITABLE_ICON_BEFORE_CONTENT=false
135+ typeset -g POWERLEVEL9K_ICON_BEFORE_CONTENT=
136+137+ # Add an empty line before each prompt.
138+ typeset -g POWERLEVEL9K_PROMPT_ADD_NEWLINE=false
139+140+ # Connect left prompt lines with these symbols. You'll probably want to use the same color
141+ # as POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_FOREGROUND below.
142+ typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX='%238Fโญโ'
143+ typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_PREFIX='%238Fโโ'
144+ typeset -g POWERLEVEL9K_MULTILINE_LAST_PROMPT_PREFIX='%238Fโฐโ'
145+ # Connect right prompt lines with these symbols.
146+ typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_SUFFIX='%238Fโโฎ'
147+ typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_SUFFIX='%238Fโโค'
148+ typeset -g POWERLEVEL9K_MULTILINE_LAST_PROMPT_SUFFIX='%238Fโโฏ'
149+150+ # Filler between left and right prompt on the first prompt line. You can set it to ' ', 'ยท' or
151+ # 'โ'. The last two make it easier to see the alignment between left and right prompt and to
152+ # separate prompt from command output. You might want to set POWERLEVEL9K_PROMPT_ADD_NEWLINE=false
153+ # for more compact prompt if using this option.
154+ typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR='โ'
155+ typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_BACKGROUND=
156+ typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_GAP_BACKGROUND=
157+ if [[ $POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR != ' ' ]]; then
158+ # The color of the filler. You'll probably want to match the color of POWERLEVEL9K_MULTILINE
159+ # ornaments defined above.
160+ typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_FOREGROUND=238
161+ # Start filler from the edge of the screen if there are no left segments on the first line.
162+ typeset -g POWERLEVEL9K_EMPTY_LINE_LEFT_PROMPT_FIRST_SEGMENT_END_SYMBOL='%{%}'
163+ # End filler on the edge of the screen if there are no right segments on the first line.
164+ typeset -g POWERLEVEL9K_EMPTY_LINE_RIGHT_PROMPT_FIRST_SEGMENT_START_SYMBOL='%{%}'
165+ fi
166+167+ # Default background color.
168+ typeset -g POWERLEVEL9K_BACKGROUND=234
169+170+ # Separator between same-color segments on the left.
171+ typeset -g POWERLEVEL9K_LEFT_SUBSEGMENT_SEPARATOR='%242F\uE0B1'
172+ # Separator between same-color segments on the right.
173+ typeset -g POWERLEVEL9K_RIGHT_SUBSEGMENT_SEPARATOR='%242F\uE0B3'
174+ # Separator between different-color segments on the left.
175+ typeset -g POWERLEVEL9K_LEFT_SEGMENT_SEPARATOR='\uE0B0'
176+ # Separator between different-color segments on the right.
177+ typeset -g POWERLEVEL9K_RIGHT_SEGMENT_SEPARATOR='\uE0B2'
178+ # The right end of left prompt.
179+ typeset -g POWERLEVEL9K_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL='โโโ'
180+ # The left end of right prompt.
181+ typeset -g POWERLEVEL9K_RIGHT_PROMPT_FIRST_SEGMENT_START_SYMBOL='โโโ'
182+ # The left end of left prompt.
183+ typeset -g POWERLEVEL9K_LEFT_PROMPT_FIRST_SEGMENT_START_SYMBOL=''
184+ # The right end of right prompt.
185+ typeset -g POWERLEVEL9K_RIGHT_PROMPT_LAST_SEGMENT_END_SYMBOL=''
186+ # Left prompt terminator for lines without any segments.
187+ typeset -g POWERLEVEL9K_EMPTY_LINE_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL=
188+189+ #################################[ os_icon: os identifier ]##################################
190+ # OS identifier color.
191+ typeset -g POWERLEVEL9K_OS_ICON_FOREGROUND=255
192+ # Custom icon.
193+ # typeset -g POWERLEVEL9K_OS_ICON_CONTENT_EXPANSION='โญ'
194+195+ ################################[ prompt_char: prompt symbol ]################################
196+ # Transparent background.
197+ typeset -g POWERLEVEL9K_PROMPT_CHAR_BACKGROUND=
198+ # Green prompt symbol if the last command succeeded.
199+ typeset -g POWERLEVEL9K_PROMPT_CHAR_OK_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=76
200+ # Red prompt symbol if the last command failed.
201+ typeset -g POWERLEVEL9K_PROMPT_CHAR_ERROR_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=196
202+ # Default prompt symbol.
203+ typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIINS_CONTENT_EXPANSION='โฏ'
204+ # Prompt symbol in command vi mode.
205+ typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VICMD_CONTENT_EXPANSION='โฎ'
206+ # Prompt symbol in visual vi mode.
207+ typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIVIS_CONTENT_EXPANSION='V'
208+ # Prompt symbol in overwrite vi mode.
209+ typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIOWR_CONTENT_EXPANSION='โถ'
210+ typeset -g POWERLEVEL9K_PROMPT_CHAR_OVERWRITE_STATE=true
211+ # No line terminator if prompt_char is the last segment.
212+ typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL=
213+ # No line introducer if prompt_char is the first segment.
214+ typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_PROMPT_FIRST_SEGMENT_START_SYMBOL=
215+ # No surrounding whitespace.
216+ typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_{LEFT,RIGHT}_WHITESPACE=
217+218+ ##################################[ dir: current directory ]##################################
219+ # Default current directory color.
220+ typeset -g POWERLEVEL9K_DIR_FOREGROUND=31
221+ # If directory is too long, shorten some of its segments to the shortest possible unique
222+ # prefix. The shortened directory can be tab-completed to the original.
223+ typeset -g POWERLEVEL9K_SHORTEN_STRATEGY=truncate_to_unique
224+ # Replace removed segment suffixes with this symbol.
225+ typeset -g POWERLEVEL9K_SHORTEN_DELIMITER=
226+ # Color of the shortened directory segments.
227+ typeset -g POWERLEVEL9K_DIR_SHORTENED_FOREGROUND=103
228+ # Color of the anchor directory segments. Anchor segments are never shortened. The first
229+ # segment is always an anchor.
230+ typeset -g POWERLEVEL9K_DIR_ANCHOR_FOREGROUND=39
231+ # Display anchor directory segments in bold.
232+ typeset -g POWERLEVEL9K_DIR_ANCHOR_BOLD=true
233+ # Don't shorten directories that contain any of these files. They are anchors.
234+ local anchor_files=(
235+ .bzr
236+ .citc
237+ .git
238+ .hg
239+ .node-version
240+ .python-version
241+ .go-version
242+ .ruby-version
243+ .lua-version
244+ .java-version
245+ .perl-version
246+ .php-version
247+ .tool-version
248+ .shorten_folder_marker
249+ .svn
250+ .terraform
251+ CVS
252+ Cargo.toml
253+ composer.json
254+ go.mod
255+ package.json
256+ stack.yaml
257+ )
258+ typeset -g POWERLEVEL9K_SHORTEN_FOLDER_MARKER="(${(j:|:)anchor_files})"
259+ # If set to "first" ("last"), remove everything before the first (last) subdirectory that contains
260+ # files matching $POWERLEVEL9K_SHORTEN_FOLDER_MARKER. For example, when the current directory is
261+ # /foo/bar/git_repo/nested_git_repo/baz, prompt will display git_repo/nested_git_repo/baz (first)
262+ # or nested_git_repo/baz (last). This assumes that git_repo and nested_git_repo contain markers
263+ # and other directories don't.
264+ #
265+ # Optionally, "first" and "last" can be followed by ":<offset>" where <offset> is an integer.
266+ # This moves the truncation point to the right (positive offset) or to the left (negative offset)
267+ # relative to the marker. Plain "first" and "last" are equivalent to "first:0" and "last:0"
268+ # respectively.
269+ typeset -g POWERLEVEL9K_DIR_TRUNCATE_BEFORE_MARKER=false
270+ # Don't shorten this many last directory segments. They are anchors.
271+ typeset -g POWERLEVEL9K_SHORTEN_DIR_LENGTH=1
272+ # Shorten directory if it's longer than this even if there is space for it. The value can
273+ # be either absolute (e.g., '80') or a percentage of terminal width (e.g, '50%'). If empty,
274+ # directory will be shortened only when prompt doesn't fit or when other parameters demand it
275+ # (see POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS and POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS_PCT below).
276+ # If set to `0`, directory will always be shortened to its minimum length.
277+ typeset -g POWERLEVEL9K_DIR_MAX_LENGTH=80
278+ # When `dir` segment is on the last prompt line, try to shorten it enough to leave at least this
279+ # many columns for typing commands.
280+ typeset -g POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS=40
281+ # When `dir` segment is on the last prompt line, try to shorten it enough to leave at least
282+ # COLUMNS * POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS_PCT * 0.01 columns for typing commands.
283+ typeset -g POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS_PCT=50
284+ # If set to true, embed a hyperlink into the directory. Useful for quickly
285+ # opening a directory in the file manager simply by clicking the link.
286+ # Can also be handy when the directory is shortened, as it allows you to see
287+ # the full directory that was used in previous commands.
288+ typeset -g POWERLEVEL9K_DIR_HYPERLINK=false
289+290+ # Enable special styling for non-writable and non-existent directories. See POWERLEVEL9K_LOCK_ICON
291+ # and POWERLEVEL9K_DIR_CLASSES below.
292+ typeset -g POWERLEVEL9K_DIR_SHOW_WRITABLE=v3
293+294+ # The default icon shown next to non-writable and non-existent directories when
295+ # POWERLEVEL9K_DIR_SHOW_WRITABLE is set to v3.
296+ typeset -g POWERLEVEL9K_LOCK_ICON='๐'
297+298+ # POWERLEVEL9K_DIR_CLASSES allows you to specify custom icons and colors for different
299+ # directories. It must be an array with 3 * N elements. Each triplet consists of:
300+ #
301+ # 1. A pattern against which the current directory ($PWD) is matched. Matching is done with
302+ # extended_glob option enabled.
303+ # 2. Directory class for the purpose of styling.
304+ # 3. An empty string.
305+ #
306+ # Triplets are tried in order. The first triplet whose pattern matches $PWD wins.
307+ #
308+ # If POWERLEVEL9K_DIR_SHOW_WRITABLE is set to v3, non-writable and non-existent directories
309+ # acquire class suffix _NOT_WRITABLE and NON_EXISTENT respectively.
310+ #
311+ # For example, given these settings:
312+ #
313+ # typeset -g POWERLEVEL9K_DIR_CLASSES=(
314+ # '~/work(|/*)' WORK ''
315+ # '~(|/*)' HOME ''
316+ # '*' DEFAULT '')
317+ #
318+ # Whenever the current directory is ~/work or a subdirectory of ~/work, it gets styled with one
319+ # of the following classes depending on its writability and existence: WORK, WORK_NOT_WRITABLE or
320+ # WORK_NON_EXISTENT.
321+ #
322+ # Simply assigning classes to directories doesn't have any visible effects. It merely gives you an
323+ # option to define custom colors and icons for different directory classes.
324+ #
325+ # # Styling for WORK.
326+ # typeset -g POWERLEVEL9K_DIR_WORK_VISUAL_IDENTIFIER_EXPANSION='โญ'
327+ # typeset -g POWERLEVEL9K_DIR_WORK_FOREGROUND=31
328+ # typeset -g POWERLEVEL9K_DIR_WORK_SHORTENED_FOREGROUND=103
329+ # typeset -g POWERLEVEL9K_DIR_WORK_ANCHOR_FOREGROUND=39
330+ #
331+ # # Styling for WORK_NOT_WRITABLE.
332+ # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_VISUAL_IDENTIFIER_EXPANSION='โญ'
333+ # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_FOREGROUND=31
334+ # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_SHORTENED_FOREGROUND=103
335+ # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_ANCHOR_FOREGROUND=39
336+ #
337+ # # Styling for WORK_NON_EXISTENT.
338+ # typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_VISUAL_IDENTIFIER_EXPANSION='โญ'
339+ # typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_FOREGROUND=31
340+ # typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_SHORTENED_FOREGROUND=103
341+ # typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_ANCHOR_FOREGROUND=39
342+ #
343+ # If a styling parameter isn't explicitly defined for some class, it falls back to the classless
344+ # parameter. For example, if POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_FOREGROUND is not set, it falls
345+ # back to POWERLEVEL9K_DIR_FOREGROUND.
346+ #
347+ typeset -g POWERLEVEL9K_DIR_CLASSES=()
348+349+ # Custom prefix.
350+ # typeset -g POWERLEVEL9K_DIR_PREFIX='%244Fin '
351+352+ #####################################[ vcs: git status ]######################################
353+ # Branch icon. Set this parameter to '\UE0A0 ' for the popular Powerline branch icon.
354+ typeset -g POWERLEVEL9K_VCS_BRANCH_ICON=
355+356+ # Untracked files icon. It's really a question mark, your font isn't broken.
357+ # Change the value of this parameter to show a different icon.
358+ typeset -g POWERLEVEL9K_VCS_UNTRACKED_ICON='?'
359+360+ # Formatter for Git status.
361+ #
362+ # Example output: master wip โฃ42โก42 *42 merge ~42 +42 !42 ?42.
363+ #
364+ # You can edit the function to customize how Git status looks.
365+ #
366+ # VCS_STATUS_* parameters are set by gitstatus plugin. See reference:
367+ # https://github.com/romkatv/gitstatus/blob/master/gitstatus.plugin.zsh.
368+ function my_git_formatter() {
369+ emulate -L zsh
370+371+ if [[ -n $P9K_CONTENT ]]; then
372+ # If P9K_CONTENT is not empty, use it. It's either "loading" or from vcs_info (not from
373+ # gitstatus plugin). VCS_STATUS_* parameters are not available in this case.
374+ typeset -g my_git_format=$P9K_CONTENT
375+ return
376+ fi
377+378+ if (( $1 )); then
379+ # Styling for up-to-date Git status.
380+ local meta='%244F' # grey foreground
381+ local clean='%76F' # green foreground
382+ local modified='%178F' # yellow foreground
383+ local untracked='%39F' # blue foreground
384+ local conflicted='%196F' # red foreground
385+ else
386+ # Styling for incomplete and stale Git status.
387+ local meta='%244F' # grey foreground
388+ local clean='%244F' # grey foreground
389+ local modified='%244F' # grey foreground
390+ local untracked='%244F' # grey foreground
391+ local conflicted='%244F' # grey foreground
392+ fi
393+394+ local res
395+396+ if [[ -n $VCS_STATUS_LOCAL_BRANCH ]]; then
397+ local branch=${(V)VCS_STATUS_LOCAL_BRANCH}
398+ # If local branch name is at most 32 characters long, show it in full.
399+ # Otherwise show the first 12 โฆ the last 12.
400+ # Tip: To always show local branch name in full without truncation, delete the next line.
401+ (( $#branch > 32 )) && branch[13,-13]="โฆ" # <-- this line
402+ res+="${clean}${(g::)POWERLEVEL9K_VCS_BRANCH_ICON}${branch//\%/%%}"
403+ fi
404+405+ if [[ -n $VCS_STATUS_TAG
406+ # Show tag only if not on a branch.
407+ # Tip: To always show tag, delete the next line.
408+ && -z $VCS_STATUS_LOCAL_BRANCH # <-- this line
409+ ]]; then
410+ local tag=${(V)VCS_STATUS_TAG}
411+ # If tag name is at most 32 characters long, show it in full.
412+ # Otherwise show the first 12 โฆ the last 12.
413+ # Tip: To always show tag name in full without truncation, delete the next line.
414+ (( $#tag > 32 )) && tag[13,-13]="โฆ" # <-- this line
415+ res+="${meta}#${clean}${tag//\%/%%}"
416+ fi
417+418+ # Display the current Git commit if there is no branch and no tag.
419+ # Tip: To always display the current Git commit, delete the next line.
420+ [[ -z $VCS_STATUS_LOCAL_BRANCH && -z $VCS_STATUS_TAG ]] && # <-- this line
421+ res+="${meta}@${clean}${VCS_STATUS_COMMIT[1,8]}"
422+423+ # Show tracking branch name if it differs from local branch.
424+ if [[ -n ${VCS_STATUS_REMOTE_BRANCH:#$VCS_STATUS_LOCAL_BRANCH} ]]; then
425+ res+="${meta}:${clean}${(V)VCS_STATUS_REMOTE_BRANCH//\%/%%}"
426+ fi
427+428+ # Display "wip" if the latest commit's summary contains "wip" or "WIP".
429+ if [[ $VCS_STATUS_COMMIT_SUMMARY == (|*[^[:alnum:]])(wip|WIP)(|[^[:alnum:]]*) ]]; then
430+ res+=" ${modified}wip"
431+ fi
432+433+ # โฃ42 if behind the remote.
434+ (( VCS_STATUS_COMMITS_BEHIND )) && res+=" ${clean}โฃ${VCS_STATUS_COMMITS_BEHIND}"
435+ # โก42 if ahead of the remote; no leading space if also behind the remote: โฃ42โก42.
436+ (( VCS_STATUS_COMMITS_AHEAD && !VCS_STATUS_COMMITS_BEHIND )) && res+=" "
437+ (( VCS_STATUS_COMMITS_AHEAD )) && res+="${clean}โก${VCS_STATUS_COMMITS_AHEAD}"
438+ # โ 42 if behind the push remote.
439+ (( VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" ${clean}โ ${VCS_STATUS_PUSH_COMMITS_BEHIND}"
440+ (( VCS_STATUS_PUSH_COMMITS_AHEAD && !VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" "
441+ # โข42 if ahead of the push remote; no leading space if also behind: โ 42โข42.
442+ (( VCS_STATUS_PUSH_COMMITS_AHEAD )) && res+="${clean}โข${VCS_STATUS_PUSH_COMMITS_AHEAD}"
443+ # *42 if have stashes.
444+ (( VCS_STATUS_STASHES )) && res+=" ${clean}*${VCS_STATUS_STASHES}"
445+ # 'merge' if the repo is in an unusual state.
446+ [[ -n $VCS_STATUS_ACTION ]] && res+=" ${conflicted}${VCS_STATUS_ACTION}"
447+ # ~42 if have merge conflicts.
448+ (( VCS_STATUS_NUM_CONFLICTED )) && res+=" ${conflicted}~${VCS_STATUS_NUM_CONFLICTED}"
449+ # +42 if have staged changes.
450+ (( VCS_STATUS_NUM_STAGED )) && res+=" ${modified}+${VCS_STATUS_NUM_STAGED}"
451+ # !42 if have unstaged changes.
452+ (( VCS_STATUS_NUM_UNSTAGED )) && res+=" ${modified}!${VCS_STATUS_NUM_UNSTAGED}"
453+ # ?42 if have untracked files. It's really a question mark, your font isn't broken.
454+ # See POWERLEVEL9K_VCS_UNTRACKED_ICON above if you want to use a different icon.
455+ # Remove the next line if you don't want to see untracked files at all.
456+ (( VCS_STATUS_NUM_UNTRACKED )) && res+=" ${untracked}${(g::)POWERLEVEL9K_VCS_UNTRACKED_ICON}${VCS_STATUS_NUM_UNTRACKED}"
457+ # "โ" if the number of unstaged files is unknown. This can happen due to
458+ # POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY (see below) being set to a non-negative number lower
459+ # than the number of files in the Git index, or due to bash.showDirtyState being set to false
460+ # in the repository config. The number of staged and untracked files may also be unknown
461+ # in this case.
462+ (( VCS_STATUS_HAS_UNSTAGED == -1 )) && res+=" ${modified}โ"
463+464+ typeset -g my_git_format=$res
465+ }
466+ functions -M my_git_formatter 2>/dev/null
467+468+ # Don't count the number of unstaged, untracked and conflicted files in Git repositories with
469+ # more than this many files in the index. Negative value means infinity.
470+ #
471+ # If you are working in Git repositories with tens of millions of files and seeing performance
472+ # sagging, try setting POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY to a number lower than the output
473+ # of `git ls-files | wc -l`. Alternatively, add `bash.showDirtyState = false` to the repository's
474+ # config: `git config bash.showDirtyState false`.
475+ typeset -g POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY=-1
476+477+ # Don't show Git status in prompt for repositories whose workdir matches this pattern.
478+ # For example, if set to '~', the Git repository at $HOME/.git will be ignored.
479+ # Multiple patterns can be combined with '|': '~(|/foo)|/bar/baz/*'.
480+ typeset -g POWERLEVEL9K_VCS_DISABLED_WORKDIR_PATTERN='~'
481+482+ # Disable the default Git status formatting.
483+ typeset -g POWERLEVEL9K_VCS_DISABLE_GITSTATUS_FORMATTING=true
484+ # Install our own Git status formatter.
485+ typeset -g POWERLEVEL9K_VCS_CONTENT_EXPANSION='${$((my_git_formatter(1)))+${my_git_format}}'
486+ typeset -g POWERLEVEL9K_VCS_LOADING_CONTENT_EXPANSION='${$((my_git_formatter(0)))+${my_git_format}}'
487+ # Enable counters for staged, unstaged, etc.
488+ typeset -g POWERLEVEL9K_VCS_{STAGED,UNSTAGED,UNTRACKED,CONFLICTED,COMMITS_AHEAD,COMMITS_BEHIND}_MAX_NUM=-1
489+490+ # Icon color.
491+ typeset -g POWERLEVEL9K_VCS_VISUAL_IDENTIFIER_COLOR=76
492+ typeset -g POWERLEVEL9K_VCS_LOADING_VISUAL_IDENTIFIER_COLOR=244
493+ # Custom icon.
494+ typeset -g POWERLEVEL9K_VCS_VISUAL_IDENTIFIER_EXPANSION=
495+ # Custom prefix.
496+ # typeset -g POWERLEVEL9K_VCS_PREFIX='%244Fon '
497+498+ # Show status of repositories of these types. You can add svn and/or hg if you are
499+ # using them. If you do, your prompt may become slow even when your current directory
500+ # isn't in an svn or hg reposotiry.
501+ typeset -g POWERLEVEL9K_VCS_BACKENDS=(git)
502+503+ # These settings are used for repositories other than Git or when gitstatusd fails and
504+ # Powerlevel10k has to fall back to using vcs_info.
505+ typeset -g POWERLEVEL9K_VCS_CLEAN_FOREGROUND=76
506+ typeset -g POWERLEVEL9K_VCS_UNTRACKED_FOREGROUND=76
507+ typeset -g POWERLEVEL9K_VCS_MODIFIED_FOREGROUND=178
508+509+ ##########################[ status: exit code of the last command ]###########################
510+ # Enable OK_PIPE, ERROR_PIPE and ERROR_SIGNAL status states to allow us to enable, disable and
511+ # style them independently from the regular OK and ERROR state.
512+ typeset -g POWERLEVEL9K_STATUS_EXTENDED_STATES=true
513+514+ # Status on success. No content, just an icon. No need to show it if prompt_char is enabled as
515+ # it will signify success by turning green.
516+ typeset -g POWERLEVEL9K_STATUS_OK=true
517+ typeset -g POWERLEVEL9K_STATUS_OK_FOREGROUND=70
518+ typeset -g POWERLEVEL9K_STATUS_OK_VISUAL_IDENTIFIER_EXPANSION='โ'
519+520+ # Status when some part of a pipe command fails but the overall exit status is zero. It may look
521+ # like this: 1|0.
522+ typeset -g POWERLEVEL9K_STATUS_OK_PIPE=true
523+ typeset -g POWERLEVEL9K_STATUS_OK_PIPE_FOREGROUND=70
524+ typeset -g POWERLEVEL9K_STATUS_OK_PIPE_VISUAL_IDENTIFIER_EXPANSION='โ'
525+526+ # Status when it's just an error code (e.g., '1'). No need to show it if prompt_char is enabled as
527+ # it will signify error by turning red.
528+ typeset -g POWERLEVEL9K_STATUS_ERROR=true
529+ typeset -g POWERLEVEL9K_STATUS_ERROR_FOREGROUND=160
530+ typeset -g POWERLEVEL9K_STATUS_ERROR_VISUAL_IDENTIFIER_EXPANSION='โ'
531+532+ # Status when the last command was terminated by a signal.
533+ typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL=true
534+ typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL_FOREGROUND=160
535+ # Use terse signal names: "INT" instead of "SIGINT(2)".
536+ typeset -g POWERLEVEL9K_STATUS_VERBOSE_SIGNAME=false
537+ typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL_VISUAL_IDENTIFIER_EXPANSION='โ'
538+539+ # Status when some part of a pipe command fails and the overall exit status is also non-zero.
540+ # It may look like this: 1|0.
541+ typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE=true
542+ typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_FOREGROUND=160
543+ typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_VISUAL_IDENTIFIER_EXPANSION='โ'
544+545+ ###################[ command_execution_time: duration of the last command ]###################
546+ # Show duration of the last command if takes at least this many seconds.
547+ typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_THRESHOLD=3
548+ # Show this many fractional digits. Zero means round to seconds.
549+ typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PRECISION=0
550+ # Execution time color.
551+ typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FOREGROUND=248
552+ # Duration format: 1d 2h 3m 4s.
553+ typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FORMAT='d h m s'
554+ # Custom icon.
555+ typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_VISUAL_IDENTIFIER_EXPANSION=
556+ # Custom prefix.
557+ # typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PREFIX='%244Ftook '
558+559+ #######################[ background_jobs: presence of background jobs ]#######################
560+ # Don't show the number of background jobs.
561+ typeset -g POWERLEVEL9K_BACKGROUND_JOBS_VERBOSE=false
562+ # Background jobs color.
563+ typeset -g POWERLEVEL9K_BACKGROUND_JOBS_FOREGROUND=37
564+ # Custom icon.
565+ typeset -g POWERLEVEL9K_BACKGROUND_JOBS_VISUAL_IDENTIFIER_EXPANSION='โก'
566+567+ #######################[ direnv: direnv status (https://direnv.net/) ]########################
568+ # Direnv color.
569+ typeset -g POWERLEVEL9K_DIRENV_FOREGROUND=178
570+ # Custom icon.
571+ # typeset -g POWERLEVEL9K_DIRENV_VISUAL_IDENTIFIER_EXPANSION='โญ'
572+573+ ###############[ asdf: asdf version manager (https://github.com/asdf-vm/asdf) ]###############
574+ # Default asdf color. Only used to display tools for which there is no color override (see below).
575+ # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_FOREGROUND.
576+ typeset -g POWERLEVEL9K_ASDF_FOREGROUND=66
577+578+ # There are four parameters that can be used to hide asdf tools. Each parameter describes
579+ # conditions under which a tool gets hidden. Parameters can hide tools but not unhide them. If at
580+ # least one parameter decides to hide a tool, that tool gets hidden. If no parameter decides to
581+ # hide a tool, it gets shown.
582+ #
583+ # Special note on the difference between POWERLEVEL9K_ASDF_SOURCES and
584+ # POWERLEVEL9K_ASDF_PROMPT_ALWAYS_SHOW. Consider the effect of the following commands:
585+ #
586+ # asdf local python 3.8.1
587+ # asdf global python 3.8.1
588+ #
589+ # After running both commands the current python version is 3.8.1 and its source is "local" as
590+ # it takes precedence over "global". If POWERLEVEL9K_ASDF_PROMPT_ALWAYS_SHOW is set to false,
591+ # it'll hide python version in this case because 3.8.1 is the same as the global version.
592+ # POWERLEVEL9K_ASDF_SOURCES will hide python version only if the value of this parameter doesn't
593+ # contain "local".
594+595+ # Hide tool versions that don't come from one of these sources.
596+ #
597+ # Available sources:
598+ #
599+ # - shell `asdf current` says "set by ASDF_${TOOL}_VERSION environment variable"
600+ # - local `asdf current` says "set by /some/not/home/directory/file"
601+ # - global `asdf current` says "set by /home/username/file"
602+ #
603+ # Note: If this parameter is set to (shell local global), it won't hide tools.
604+ # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_SOURCES.
605+ typeset -g POWERLEVEL9K_ASDF_SOURCES=(shell local global)
606+607+ # If set to false, hide tool versions that are the same as global.
608+ #
609+ # Note: The name of this parameter doesn't reflect its meaning at all.
610+ # Note: If this parameter is set to true, it won't hide tools.
611+ # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_PROMPT_ALWAYS_SHOW.
612+ typeset -g POWERLEVEL9K_ASDF_PROMPT_ALWAYS_SHOW=false
613+614+ # If set to false, hide tool versions that are equal to "system".
615+ #
616+ # Note: If this parameter is set to true, it won't hide tools.
617+ # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_SHOW_SYSTEM.
618+ typeset -g POWERLEVEL9K_ASDF_SHOW_SYSTEM=true
619+620+ # If set to non-empty value, hide tools unless there is a file matching the specified file pattern
621+ # in the current directory, or its parent directory, or its grandparent directory, and so on.
622+ #
623+ # Note: If this parameter is set to empty value, it won't hide tools.
624+ # Note: SHOW_ON_UPGLOB isn't specific to asdf. It works with all prompt segments.
625+ # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_SHOW_ON_UPGLOB.
626+ #
627+ # Example: Hide nodejs version when there is no package.json and no *.js files in the current
628+ # directory, in `..`, in `../..` and so on.
629+ #
630+ # typeset -g POWERLEVEL9K_ASDF_NODEJS_SHOW_ON_UPGLOB='*.js|package.json'
631+ typeset -g POWERLEVEL9K_ASDF_SHOW_ON_UPGLOB=
632+633+ # Ruby version from asdf.
634+ typeset -g POWERLEVEL9K_ASDF_RUBY_FOREGROUND=168
635+ # typeset -g POWERLEVEL9K_ASDF_RUBY_VISUAL_IDENTIFIER_EXPANSION='โญ'
636+ # typeset -g POWERLEVEL9K_ASDF_RUBY_SHOW_ON_UPGLOB='*.foo|*.bar'
637+638+ # Python version from asdf.
639+ typeset -g POWERLEVEL9K_ASDF_PYTHON_FOREGROUND=37
640+ # typeset -g POWERLEVEL9K_ASDF_PYTHON_VISUAL_IDENTIFIER_EXPANSION='โญ'
641+ # typeset -g POWERLEVEL9K_ASDF_PYTHON_SHOW_ON_UPGLOB='*.foo|*.bar'
642+643+ # Go version from asdf.
644+ typeset -g POWERLEVEL9K_ASDF_GOLANG_FOREGROUND=37
645+ # typeset -g POWERLEVEL9K_ASDF_GOLANG_VISUAL_IDENTIFIER_EXPANSION='โญ'
646+ # typeset -g POWERLEVEL9K_ASDF_GOLANG_SHOW_ON_UPGLOB='*.foo|*.bar'
647+648+ # Node.js version from asdf.
649+ typeset -g POWERLEVEL9K_ASDF_NODEJS_FOREGROUND=70
650+ # typeset -g POWERLEVEL9K_ASDF_NODEJS_VISUAL_IDENTIFIER_EXPANSION='โญ'
651+ # typeset -g POWERLEVEL9K_ASDF_NODEJS_SHOW_ON_UPGLOB='*.foo|*.bar'
652+653+ # Rust version from asdf.
654+ typeset -g POWERLEVEL9K_ASDF_RUST_FOREGROUND=37
655+ # typeset -g POWERLEVEL9K_ASDF_RUST_VISUAL_IDENTIFIER_EXPANSION='โญ'
656+ # typeset -g POWERLEVEL9K_ASDF_RUST_SHOW_ON_UPGLOB='*.foo|*.bar'
657+658+ # .NET Core version from asdf.
659+ typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_FOREGROUND=134
660+ # typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_VISUAL_IDENTIFIER_EXPANSION='โญ'
661+ # typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_SHOW_ON_UPGLOB='*.foo|*.bar'
662+663+ # Flutter version from asdf.
664+ typeset -g POWERLEVEL9K_ASDF_FLUTTER_FOREGROUND=38
665+ # typeset -g POWERLEVEL9K_ASDF_FLUTTER_VISUAL_IDENTIFIER_EXPANSION='โญ'
666+ # typeset -g POWERLEVEL9K_ASDF_FLUTTER_SHOW_ON_UPGLOB='*.foo|*.bar'
667+668+ # Lua version from asdf.
669+ typeset -g POWERLEVEL9K_ASDF_LUA_FOREGROUND=32
670+ # typeset -g POWERLEVEL9K_ASDF_LUA_VISUAL_IDENTIFIER_EXPANSION='โญ'
671+ # typeset -g POWERLEVEL9K_ASDF_LUA_SHOW_ON_UPGLOB='*.foo|*.bar'
672+673+ # Java version from asdf.
674+ typeset -g POWERLEVEL9K_ASDF_JAVA_FOREGROUND=32
675+ # typeset -g POWERLEVEL9K_ASDF_JAVA_VISUAL_IDENTIFIER_EXPANSION='โญ'
676+ # typeset -g POWERLEVEL9K_ASDF_JAVA_SHOW_ON_UPGLOB='*.foo|*.bar'
677+678+ # Perl version from asdf.
679+ typeset -g POWERLEVEL9K_ASDF_PERL_FOREGROUND=67
680+ # typeset -g POWERLEVEL9K_ASDF_PERL_VISUAL_IDENTIFIER_EXPANSION='โญ'
681+ # typeset -g POWERLEVEL9K_ASDF_PERL_SHOW_ON_UPGLOB='*.foo|*.bar'
682+683+ # Erlang version from asdf.
684+ typeset -g POWERLEVEL9K_ASDF_ERLANG_FOREGROUND=125
685+ # typeset -g POWERLEVEL9K_ASDF_ERLANG_VISUAL_IDENTIFIER_EXPANSION='โญ'
686+ # typeset -g POWERLEVEL9K_ASDF_ERLANG_SHOW_ON_UPGLOB='*.foo|*.bar'
687+688+ # Elixir version from asdf.
689+ typeset -g POWERLEVEL9K_ASDF_ELIXIR_FOREGROUND=129
690+ # typeset -g POWERLEVEL9K_ASDF_ELIXIR_VISUAL_IDENTIFIER_EXPANSION='โญ'
691+ # typeset -g POWERLEVEL9K_ASDF_ELIXIR_SHOW_ON_UPGLOB='*.foo|*.bar'
692+693+ # Postgres version from asdf.
694+ typeset -g POWERLEVEL9K_ASDF_POSTGRES_FOREGROUND=31
695+ # typeset -g POWERLEVEL9K_ASDF_POSTGRES_VISUAL_IDENTIFIER_EXPANSION='โญ'
696+ # typeset -g POWERLEVEL9K_ASDF_POSTGRES_SHOW_ON_UPGLOB='*.foo|*.bar'
697+698+ # PHP version from asdf.
699+ typeset -g POWERLEVEL9K_ASDF_PHP_FOREGROUND=99
700+ # typeset -g POWERLEVEL9K_ASDF_PHP_VISUAL_IDENTIFIER_EXPANSION='โญ'
701+ # typeset -g POWERLEVEL9K_ASDF_PHP_SHOW_ON_UPGLOB='*.foo|*.bar'
702+703+ # Haskell version from asdf.
704+ typeset -g POWERLEVEL9K_ASDF_HASKELL_FOREGROUND=172
705+ # typeset -g POWERLEVEL9K_ASDF_HASKELL_VISUAL_IDENTIFIER_EXPANSION='โญ'
706+ # typeset -g POWERLEVEL9K_ASDF_HASKELL_SHOW_ON_UPGLOB='*.foo|*.bar'
707+708+ # Julia version from asdf.
709+ typeset -g POWERLEVEL9K_ASDF_JULIA_FOREGROUND=70
710+ # typeset -g POWERLEVEL9K_ASDF_JULIA_VISUAL_IDENTIFIER_EXPANSION='โญ'
711+ # typeset -g POWERLEVEL9K_ASDF_JULIA_SHOW_ON_UPGLOB='*.foo|*.bar'
712+713+ ##########[ nordvpn: nordvpn connection status, linux only (https://nordvpn.com/) ]###########
714+ # NordVPN connection indicator color.
715+ typeset -g POWERLEVEL9K_NORDVPN_FOREGROUND=39
716+ # Hide NordVPN connection indicator when not connected.
717+ typeset -g POWERLEVEL9K_NORDVPN_{DISCONNECTED,CONNECTING,DISCONNECTING}_CONTENT_EXPANSION=
718+ typeset -g POWERLEVEL9K_NORDVPN_{DISCONNECTED,CONNECTING,DISCONNECTING}_VISUAL_IDENTIFIER_EXPANSION=
719+ # Custom icon.
720+ typeset -g POWERLEVEL9K_NORDVPN_VISUAL_IDENTIFIER_EXPANSION='nord'
721+722+ #################[ ranger: ranger shell (https://github.com/ranger/ranger) ]##################
723+ # Ranger shell color.
724+ typeset -g POWERLEVEL9K_RANGER_FOREGROUND=178
725+ # Custom icon.
726+ typeset -g POWERLEVEL9K_RANGER_VISUAL_IDENTIFIER_EXPANSION='โฒ'
727+728+ ######################[ nnn: nnn shell (https://github.com/jarun/nnn) ]#######################
729+ # Nnn shell color.
730+ typeset -g POWERLEVEL9K_NNN_FOREGROUND=72
731+ # Custom icon.
732+ # typeset -g POWERLEVEL9K_NNN_VISUAL_IDENTIFIER_EXPANSION='โญ'
733+734+ ######################[ lf: lf shell (https://github.com/gokcehan/lf) ]#######################
735+ # lf shell color.
736+ typeset -g POWERLEVEL9K_LF_FOREGROUND=72
737+ # Custom icon.
738+ # typeset -g POWERLEVEL9K_LF_VISUAL_IDENTIFIER_EXPANSION='โญ'
739+740+ ##################[ xplr: xplr shell (https://github.com/sayanarijit/xplr) ]##################
741+ # xplr shell color.
742+ typeset -g POWERLEVEL9K_XPLR_FOREGROUND=72
743+ # Custom icon.
744+ # typeset -g POWERLEVEL9K_XPLR_VISUAL_IDENTIFIER_EXPANSION='โญ'
745+746+ ###########################[ vim_shell: vim shell indicator (:sh) ]###########################
747+ # Vim shell indicator color.
748+ typeset -g POWERLEVEL9K_VIM_SHELL_FOREGROUND=34
749+ # Custom icon.
750+ # typeset -g POWERLEVEL9K_VIM_SHELL_VISUAL_IDENTIFIER_EXPANSION='โญ'
751+752+ ######[ midnight_commander: midnight commander shell (https://midnight-commander.org/) ]######
753+ # Midnight Commander shell color.
754+ typeset -g POWERLEVEL9K_MIDNIGHT_COMMANDER_FOREGROUND=178
755+ # Custom icon.
756+ # typeset -g POWERLEVEL9K_MIDNIGHT_COMMANDER_VISUAL_IDENTIFIER_EXPANSION='โญ'
757+758+ #[ nix_shell: nix shell (https://nixos.org/nixos/nix-pills/developing-with-nix-shell.html) ]##
759+ # Nix shell color.
760+ typeset -g POWERLEVEL9K_NIX_SHELL_FOREGROUND=74
761+762+ # Tip: If you want to see just the icon without "pure" and "impure", uncomment the next line.
763+ # typeset -g POWERLEVEL9K_NIX_SHELL_CONTENT_EXPANSION=
764+765+ # Custom icon.
766+ # typeset -g POWERLEVEL9K_NIX_SHELL_VISUAL_IDENTIFIER_EXPANSION='โญ'
767+768+ ##################################[ disk_usage: disk usage ]##################################
769+ # Colors for different levels of disk usage.
770+ typeset -g POWERLEVEL9K_DISK_USAGE_NORMAL_FOREGROUND=35
771+ typeset -g POWERLEVEL9K_DISK_USAGE_WARNING_FOREGROUND=220
772+ typeset -g POWERLEVEL9K_DISK_USAGE_CRITICAL_FOREGROUND=160
773+ # Thresholds for different levels of disk usage (percentage points).
774+ typeset -g POWERLEVEL9K_DISK_USAGE_WARNING_LEVEL=90
775+ typeset -g POWERLEVEL9K_DISK_USAGE_CRITICAL_LEVEL=95
776+ # If set to true, hide disk usage when below $POWERLEVEL9K_DISK_USAGE_WARNING_LEVEL percent.
777+ typeset -g POWERLEVEL9K_DISK_USAGE_ONLY_WARNING=false
778+ # Custom icon.
779+ # typeset -g POWERLEVEL9K_DISK_USAGE_VISUAL_IDENTIFIER_EXPANSION='โญ'
780+781+ ###########[ vi_mode: vi mode (you don't need this if you've enabled prompt_char) ]###########
782+ # Text and color for normal (a.k.a. command) vi mode.
783+ typeset -g POWERLEVEL9K_VI_COMMAND_MODE_STRING=NORMAL
784+ typeset -g POWERLEVEL9K_VI_MODE_NORMAL_FOREGROUND=106
785+ # Text and color for visual vi mode.
786+ typeset -g POWERLEVEL9K_VI_VISUAL_MODE_STRING=VISUAL
787+ typeset -g POWERLEVEL9K_VI_MODE_VISUAL_FOREGROUND=68
788+ # Text and color for overtype (a.k.a. overwrite and replace) vi mode.
789+ typeset -g POWERLEVEL9K_VI_OVERWRITE_MODE_STRING=OVERTYPE
790+ typeset -g POWERLEVEL9K_VI_MODE_OVERWRITE_FOREGROUND=172
791+ # Text and color for insert vi mode.
792+ typeset -g POWERLEVEL9K_VI_INSERT_MODE_STRING=
793+ typeset -g POWERLEVEL9K_VI_MODE_INSERT_FOREGROUND=66
794+795+ # Custom icon.
796+ typeset -g POWERLEVEL9K_RANGER_VISUAL_IDENTIFIER_EXPANSION='โฒ'
797+798+ ######################################[ ram: free RAM ]#######################################
799+ # RAM color.
800+ typeset -g POWERLEVEL9K_RAM_FOREGROUND=66
801+ # Custom icon.
802+ # typeset -g POWERLEVEL9K_RAM_VISUAL_IDENTIFIER_EXPANSION='โญ'
803+804+ #####################################[ swap: used swap ]######################################
805+ # Swap color.
806+ typeset -g POWERLEVEL9K_SWAP_FOREGROUND=96
807+ # Custom icon.
808+ # typeset -g POWERLEVEL9K_SWAP_VISUAL_IDENTIFIER_EXPANSION='โญ'
809+810+ ######################################[ load: CPU load ]######################################
811+ # Show average CPU load over this many last minutes. Valid values are 1, 5 and 15.
812+ typeset -g POWERLEVEL9K_LOAD_WHICH=5
813+ # Load color when load is under 50%.
814+ typeset -g POWERLEVEL9K_LOAD_NORMAL_FOREGROUND=66
815+ # Load color when load is between 50% and 70%.
816+ typeset -g POWERLEVEL9K_LOAD_WARNING_FOREGROUND=178
817+ # Load color when load is over 70%.
818+ typeset -g POWERLEVEL9K_LOAD_CRITICAL_FOREGROUND=166
819+ # Custom icon.
820+ # typeset -g POWERLEVEL9K_LOAD_VISUAL_IDENTIFIER_EXPANSION='โญ'
821+822+ ################[ todo: todo items (https://github.com/todotxt/todo.txt-cli) ]################
823+ # Todo color.
824+ typeset -g POWERLEVEL9K_TODO_FOREGROUND=110
825+ # Hide todo when the total number of tasks is zero.
826+ typeset -g POWERLEVEL9K_TODO_HIDE_ZERO_TOTAL=true
827+ # Hide todo when the number of tasks after filtering is zero.
828+ typeset -g POWERLEVEL9K_TODO_HIDE_ZERO_FILTERED=false
829+830+ # Todo format. The following parameters are available within the expansion.
831+ #
832+ # - P9K_TODO_TOTAL_TASK_COUNT The total number of tasks.
833+ # - P9K_TODO_FILTERED_TASK_COUNT The number of tasks after filtering.
834+ #
835+ # These variables correspond to the last line of the output of `todo.sh -p ls`:
836+ #
837+ # TODO: 24 of 42 tasks shown
838+ #
839+ # Here 24 is P9K_TODO_FILTERED_TASK_COUNT and 42 is P9K_TODO_TOTAL_TASK_COUNT.
840+ #
841+ # typeset -g POWERLEVEL9K_TODO_CONTENT_EXPANSION='$P9K_TODO_FILTERED_TASK_COUNT'
842+843+ # Custom icon.
844+ # typeset -g POWERLEVEL9K_TODO_VISUAL_IDENTIFIER_EXPANSION='โญ'
845+846+ ###########[ timewarrior: timewarrior tracking status (https://timewarrior.net/) ]############
847+ # Timewarrior color.
848+ typeset -g POWERLEVEL9K_TIMEWARRIOR_FOREGROUND=110
849+ # If the tracked task is longer than 24 characters, truncate and append "โฆ".
850+ # Tip: To always display tasks without truncation, delete the following parameter.
851+ # Tip: To hide task names and display just the icon when time tracking is enabled, set the
852+ # value of the following parameter to "".
853+ typeset -g POWERLEVEL9K_TIMEWARRIOR_CONTENT_EXPANSION='${P9K_CONTENT:0:24}${${P9K_CONTENT:24}:+โฆ}'
854+855+ # Custom icon.
856+ # typeset -g POWERLEVEL9K_TIMEWARRIOR_VISUAL_IDENTIFIER_EXPANSION='โญ'
857+858+ ##############[ taskwarrior: taskwarrior task count (https://taskwarrior.org/) ]##############
859+ # Taskwarrior color.
860+ typeset -g POWERLEVEL9K_TASKWARRIOR_FOREGROUND=74
861+862+ # Taskwarrior segment format. The following parameters are available within the expansion.
863+ #
864+ # - P9K_TASKWARRIOR_PENDING_COUNT The number of pending tasks: `task +PENDING count`.
865+ # - P9K_TASKWARRIOR_OVERDUE_COUNT The number of overdue tasks: `task +OVERDUE count`.
866+ #
867+ # Zero values are represented as empty parameters.
868+ #
869+ # The default format:
870+ #
871+ # '${P9K_TASKWARRIOR_OVERDUE_COUNT:+"!$P9K_TASKWARRIOR_OVERDUE_COUNT/"}$P9K_TASKWARRIOR_PENDING_COUNT'
872+ #
873+ # typeset -g POWERLEVEL9K_TASKWARRIOR_CONTENT_EXPANSION='$P9K_TASKWARRIOR_PENDING_COUNT'
874+875+ # Custom icon.
876+ # typeset -g POWERLEVEL9K_TASKWARRIOR_VISUAL_IDENTIFIER_EXPANSION='โญ'
877+878+ ################################[ cpu_arch: CPU architecture ]################################
879+ # CPU architecture color.
880+ typeset -g POWERLEVEL9K_CPU_ARCH_FOREGROUND=172
881+882+ # Hide the segment when on a specific CPU architecture.
883+ # typeset -g POWERLEVEL9K_CPU_ARCH_X86_64_CONTENT_EXPANSION=
884+ # typeset -g POWERLEVEL9K_CPU_ARCH_X86_64_VISUAL_IDENTIFIER_EXPANSION=
885+886+ # Custom icon.
887+ # typeset -g POWERLEVEL9K_CPU_ARCH_VISUAL_IDENTIFIER_EXPANSION='โญ'
888+889+ ##################################[ context: user@hostname ]##################################
890+ # Context color when running with privileges.
891+ typeset -g POWERLEVEL9K_CONTEXT_ROOT_FOREGROUND=178
892+ # Context color in SSH without privileges.
893+ typeset -g POWERLEVEL9K_CONTEXT_{REMOTE,REMOTE_SUDO}_FOREGROUND=180
894+ # Default context color (no privileges, no SSH).
895+ typeset -g POWERLEVEL9K_CONTEXT_FOREGROUND=180
896+897+ # Context format when running with privileges: bold user@hostname.
898+ typeset -g POWERLEVEL9K_CONTEXT_ROOT_TEMPLATE='%B%n@%m'
899+ # Context format when in SSH without privileges: user@hostname.
900+ typeset -g POWERLEVEL9K_CONTEXT_{REMOTE,REMOTE_SUDO}_TEMPLATE='%n@%m'
901+ # Default context format (no privileges, no SSH): user@hostname.
902+ typeset -g POWERLEVEL9K_CONTEXT_TEMPLATE='%n@%m'
903+904+ # Don't show context unless running with privileges or in SSH.
905+ # Tip: Remove the next line to always show context.
906+ typeset -g POWERLEVEL9K_CONTEXT_{DEFAULT,SUDO}_{CONTENT,VISUAL_IDENTIFIER}_EXPANSION=
907+908+ # Custom icon.
909+ # typeset -g POWERLEVEL9K_CONTEXT_VISUAL_IDENTIFIER_EXPANSION='โญ'
910+ # Custom prefix.
911+ # typeset -g POWERLEVEL9K_CONTEXT_PREFIX='%244Fwith '
912+913+ ###[ virtualenv: python virtual environment (https://docs.python.org/3/library/venv.html) ]###
914+ # Python virtual environment color.
915+ typeset -g POWERLEVEL9K_VIRTUALENV_FOREGROUND=37
916+ # Don't show Python version next to the virtual environment name.
917+ typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_PYTHON_VERSION=false
918+ # If set to "false", won't show virtualenv if pyenv is already shown.
919+ # If set to "if-different", won't show virtualenv if it's the same as pyenv.
920+ typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_WITH_PYENV=false
921+ # Separate environment name from Python version only with a space.
922+ typeset -g POWERLEVEL9K_VIRTUALENV_{LEFT,RIGHT}_DELIMITER=
923+ # Custom icon.
924+ # typeset -g POWERLEVEL9K_VIRTUALENV_VISUAL_IDENTIFIER_EXPANSION='โญ'
925+926+ #####################[ anaconda: conda environment (https://conda.io/) ]######################
927+ # Anaconda environment color.
928+ typeset -g POWERLEVEL9K_ANACONDA_FOREGROUND=37
929+930+ # Anaconda segment format. The following parameters are available within the expansion.
931+ #
932+ # - CONDA_PREFIX Absolute path to the active Anaconda/Miniconda environment.
933+ # - CONDA_DEFAULT_ENV Name of the active Anaconda/Miniconda environment.
934+ # - CONDA_PROMPT_MODIFIER Configurable prompt modifier (see below).
935+ # - P9K_ANACONDA_PYTHON_VERSION Current python version (python --version).
936+ #
937+ # CONDA_PROMPT_MODIFIER can be configured with the following command:
938+ #
939+ # conda config --set env_prompt '({default_env}) '
940+ #
941+ # The last argument is a Python format string that can use the following variables:
942+ #
943+ # - prefix The same as CONDA_PREFIX.
944+ # - default_env The same as CONDA_DEFAULT_ENV.
945+ # - name The last segment of CONDA_PREFIX.
946+ # - stacked_env Comma-separated list of names in the environment stack. The first element is
947+ # always the same as default_env.
948+ #
949+ # Note: '({default_env}) ' is the default value of env_prompt.
950+ #
951+ # The default value of POWERLEVEL9K_ANACONDA_CONTENT_EXPANSION expands to $CONDA_PROMPT_MODIFIER
952+ # without the surrounding parentheses, or to the last path component of CONDA_PREFIX if the former
953+ # is empty.
954+ typeset -g POWERLEVEL9K_ANACONDA_CONTENT_EXPANSION='${${${${CONDA_PROMPT_MODIFIER#\(}% }%\)}:-${CONDA_PREFIX:t}}'
955+956+ # Custom icon.
957+ # typeset -g POWERLEVEL9K_ANACONDA_VISUAL_IDENTIFIER_EXPANSION='โญ'
958+959+ ################[ pyenv: python environment (https://github.com/pyenv/pyenv) ]################
960+ # Pyenv color.
961+ typeset -g POWERLEVEL9K_PYENV_FOREGROUND=37
962+ # Hide python version if it doesn't come from one of these sources.
963+ typeset -g POWERLEVEL9K_PYENV_SOURCES=(shell local global)
964+ # If set to false, hide python version if it's the same as global:
965+ # $(pyenv version-name) == $(pyenv global).
966+ typeset -g POWERLEVEL9K_PYENV_PROMPT_ALWAYS_SHOW=false
967+ # If set to false, hide python version if it's equal to "system".
968+ typeset -g POWERLEVEL9K_PYENV_SHOW_SYSTEM=true
969+970+ # Pyenv segment format. The following parameters are available within the expansion.
971+ #
972+ # - P9K_CONTENT Current pyenv environment (pyenv version-name).
973+ # - P9K_PYENV_PYTHON_VERSION Current python version (python --version).
974+ #
975+ # The default format has the following logic:
976+ #
977+ # 1. Display just "$P9K_CONTENT" if it's equal to "$P9K_PYENV_PYTHON_VERSION" or
978+ # starts with "$P9K_PYENV_PYTHON_VERSION/".
979+ # 2. Otherwise display "$P9K_CONTENT $P9K_PYENV_PYTHON_VERSION".
980+ typeset -g POWERLEVEL9K_PYENV_CONTENT_EXPANSION='${P9K_CONTENT}${${P9K_CONTENT:#$P9K_PYENV_PYTHON_VERSION(|/*)}:+ $P9K_PYENV_PYTHON_VERSION}'
981+982+ # Custom icon.
983+ # typeset -g POWERLEVEL9K_PYENV_VISUAL_IDENTIFIER_EXPANSION='โญ'
984+985+ ################[ goenv: go environment (https://github.com/syndbg/goenv) ]################
986+ # Goenv color.
987+ typeset -g POWERLEVEL9K_GOENV_FOREGROUND=37
988+ # Hide go version if it doesn't come from one of these sources.
989+ typeset -g POWERLEVEL9K_GOENV_SOURCES=(shell local global)
990+ # If set to false, hide go version if it's the same as global:
991+ # $(goenv version-name) == $(goenv global).
992+ typeset -g POWERLEVEL9K_GOENV_PROMPT_ALWAYS_SHOW=false
993+ # If set to false, hide go version if it's equal to "system".
994+ typeset -g POWERLEVEL9K_GOENV_SHOW_SYSTEM=true
995+ # Custom icon.
996+ # typeset -g POWERLEVEL9K_GOENV_VISUAL_IDENTIFIER_EXPANSION='โญ'
997+998+ ##########[ nodenv: node.js version from nodenv (https://github.com/nodenv/nodenv) ]##########
999+ # Nodenv color.
1000+ typeset -g POWERLEVEL9K_NODENV_FOREGROUND=70
1001+ # Hide node version if it doesn't come from one of these sources.
1002+ typeset -g POWERLEVEL9K_NODENV_SOURCES=(shell local global)
1003+ # If set to false, hide node version if it's the same as global:
1004+ # $(nodenv version-name) == $(nodenv global).
1005+ typeset -g POWERLEVEL9K_NODENV_PROMPT_ALWAYS_SHOW=false
1006+ # If set to false, hide node version if it's equal to "system".
1007+ typeset -g POWERLEVEL9K_NODENV_SHOW_SYSTEM=true
1008+ # Custom icon.
1009+ # typeset -g POWERLEVEL9K_NODENV_VISUAL_IDENTIFIER_EXPANSION='โญ'
1010+1011+ ##############[ nvm: node.js version from nvm (https://github.com/nvm-sh/nvm) ]###############
1012+ # Nvm color.
1013+ typeset -g POWERLEVEL9K_NVM_FOREGROUND=70
1014+ # Custom icon.
1015+ # typeset -g POWERLEVEL9K_NVM_VISUAL_IDENTIFIER_EXPANSION='โญ'
1016+1017+ ############[ nodeenv: node.js environment (https://github.com/ekalinin/nodeenv) ]############
1018+ # Nodeenv color.
1019+ typeset -g POWERLEVEL9K_NODEENV_FOREGROUND=70
1020+ # Don't show Node version next to the environment name.
1021+ typeset -g POWERLEVEL9K_NODEENV_SHOW_NODE_VERSION=false
1022+ # Separate environment name from Node version only with a space.
1023+ typeset -g POWERLEVEL9K_NODEENV_{LEFT,RIGHT}_DELIMITER=
1024+ # Custom icon.
1025+ # typeset -g POWERLEVEL9K_NODEENV_VISUAL_IDENTIFIER_EXPANSION='โญ'
1026+1027+ ##############################[ node_version: node.js version ]###############################
1028+ # Node version color.
1029+ typeset -g POWERLEVEL9K_NODE_VERSION_FOREGROUND=70
1030+ # Show node version only when in a directory tree containing package.json.
1031+ typeset -g POWERLEVEL9K_NODE_VERSION_PROJECT_ONLY=true
1032+ # Custom icon.
1033+ # typeset -g POWERLEVEL9K_NODE_VERSION_VISUAL_IDENTIFIER_EXPANSION='โญ'
1034+1035+ #######################[ go_version: go version (https://golang.org) ]########################
1036+ # Go version color.
1037+ typeset -g POWERLEVEL9K_GO_VERSION_FOREGROUND=37
1038+ # Show go version only when in a go project subdirectory.
1039+ typeset -g POWERLEVEL9K_GO_VERSION_PROJECT_ONLY=true
1040+ # Custom icon.
1041+ # typeset -g POWERLEVEL9K_GO_VERSION_VISUAL_IDENTIFIER_EXPANSION='โญ'
1042+1043+ #################[ rust_version: rustc version (https://www.rust-lang.org) ]##################
1044+ # Rust version color.
1045+ typeset -g POWERLEVEL9K_RUST_VERSION_FOREGROUND=37
1046+ # Show rust version only when in a rust project subdirectory.
1047+ typeset -g POWERLEVEL9K_RUST_VERSION_PROJECT_ONLY=true
1048+ # Custom icon.
1049+ # typeset -g POWERLEVEL9K_RUST_VERSION_VISUAL_IDENTIFIER_EXPANSION='โญ'
1050+1051+ ###############[ dotnet_version: .NET version (https://dotnet.microsoft.com) ]################
1052+ # .NET version color.
1053+ typeset -g POWERLEVEL9K_DOTNET_VERSION_FOREGROUND=134
1054+ # Show .NET version only when in a .NET project subdirectory.
1055+ typeset -g POWERLEVEL9K_DOTNET_VERSION_PROJECT_ONLY=true
1056+ # Custom icon.
1057+ # typeset -g POWERLEVEL9K_DOTNET_VERSION_VISUAL_IDENTIFIER_EXPANSION='โญ'
1058+1059+ #####################[ php_version: php version (https://www.php.net/) ]######################
1060+ # PHP version color.
1061+ typeset -g POWERLEVEL9K_PHP_VERSION_FOREGROUND=99
1062+ # Show PHP version only when in a PHP project subdirectory.
1063+ typeset -g POWERLEVEL9K_PHP_VERSION_PROJECT_ONLY=true
1064+ # Custom icon.
1065+ # typeset -g POWERLEVEL9K_PHP_VERSION_VISUAL_IDENTIFIER_EXPANSION='โญ'
1066+1067+ ##########[ laravel_version: laravel php framework version (https://laravel.com/) ]###########
1068+ # Laravel version color.
1069+ typeset -g POWERLEVEL9K_LARAVEL_VERSION_FOREGROUND=161
1070+ # Custom icon.
1071+ # typeset -g POWERLEVEL9K_LARAVEL_VERSION_VISUAL_IDENTIFIER_EXPANSION='โญ'
1072+1073+ ####################[ java_version: java version (https://www.java.com/) ]####################
1074+ # Java version color.
1075+ typeset -g POWERLEVEL9K_JAVA_VERSION_FOREGROUND=32
1076+ # Show java version only when in a java project subdirectory.
1077+ typeset -g POWERLEVEL9K_JAVA_VERSION_PROJECT_ONLY=true
1078+ # Show brief version.
1079+ typeset -g POWERLEVEL9K_JAVA_VERSION_FULL=false
1080+ # Custom icon.
1081+ # typeset -g POWERLEVEL9K_JAVA_VERSION_VISUAL_IDENTIFIER_EXPANSION='โญ'
1082+1083+ ###[ package: name@version from package.json (https://docs.npmjs.com/files/package.json) ]####
1084+ # Package color.
1085+ typeset -g POWERLEVEL9K_PACKAGE_FOREGROUND=117
1086+ # Package format. The following parameters are available within the expansion.
1087+ #
1088+ # - P9K_PACKAGE_NAME The value of `name` field in package.json.
1089+ # - P9K_PACKAGE_VERSION The value of `version` field in package.json.
1090+ #
1091+ # typeset -g POWERLEVEL9K_PACKAGE_CONTENT_EXPANSION='${P9K_PACKAGE_NAME//\%/%%}@${P9K_PACKAGE_VERSION//\%/%%}'
1092+ # Custom icon.
1093+ # typeset -g POWERLEVEL9K_PACKAGE_VISUAL_IDENTIFIER_EXPANSION='โญ'
1094+1095+ #############[ rbenv: ruby version from rbenv (https://github.com/rbenv/rbenv) ]##############
1096+ # Rbenv color.
1097+ typeset -g POWERLEVEL9K_RBENV_FOREGROUND=168
1098+ # Hide ruby version if it doesn't come from one of these sources.
1099+ typeset -g POWERLEVEL9K_RBENV_SOURCES=(shell local global)
1100+ # If set to false, hide ruby version if it's the same as global:
1101+ # $(rbenv version-name) == $(rbenv global).
1102+ typeset -g POWERLEVEL9K_RBENV_PROMPT_ALWAYS_SHOW=false
1103+ # If set to false, hide ruby version if it's equal to "system".
1104+ typeset -g POWERLEVEL9K_RBENV_SHOW_SYSTEM=true
1105+ # Custom icon.
1106+ # typeset -g POWERLEVEL9K_RBENV_VISUAL_IDENTIFIER_EXPANSION='โญ'
1107+1108+ #######################[ rvm: ruby version from rvm (https://rvm.io) ]########################
1109+ # Rvm color.
1110+ typeset -g POWERLEVEL9K_RVM_FOREGROUND=168
1111+ # Don't show @gemset at the end.
1112+ typeset -g POWERLEVEL9K_RVM_SHOW_GEMSET=false
1113+ # Don't show ruby- at the front.
1114+ typeset -g POWERLEVEL9K_RVM_SHOW_PREFIX=false
1115+ # Custom icon.
1116+ # typeset -g POWERLEVEL9K_RVM_VISUAL_IDENTIFIER_EXPANSION='โญ'
1117+1118+ ###########[ fvm: flutter version management (https://github.com/leoafarias/fvm) ]############
1119+ # Fvm color.
1120+ typeset -g POWERLEVEL9K_FVM_FOREGROUND=38
1121+ # Custom icon.
1122+ # typeset -g POWERLEVEL9K_FVM_VISUAL_IDENTIFIER_EXPANSION='โญ'
1123+1124+ ##########[ luaenv: lua version from luaenv (https://github.com/cehoffman/luaenv) ]###########
1125+ # Lua color.
1126+ typeset -g POWERLEVEL9K_LUAENV_FOREGROUND=32
1127+ # Hide lua version if it doesn't come from one of these sources.
1128+ typeset -g POWERLEVEL9K_LUAENV_SOURCES=(shell local global)
1129+ # If set to false, hide lua version if it's the same as global:
1130+ # $(luaenv version-name) == $(luaenv global).
1131+ typeset -g POWERLEVEL9K_LUAENV_PROMPT_ALWAYS_SHOW=false
1132+ # If set to false, hide lua version if it's equal to "system".
1133+ typeset -g POWERLEVEL9K_LUAENV_SHOW_SYSTEM=true
1134+ # Custom icon.
1135+ # typeset -g POWERLEVEL9K_LUAENV_VISUAL_IDENTIFIER_EXPANSION='โญ'
1136+1137+ ###############[ jenv: java version from jenv (https://github.com/jenv/jenv) ]################
1138+ # Java color.
1139+ typeset -g POWERLEVEL9K_JENV_FOREGROUND=32
1140+ # Hide java version if it doesn't come from one of these sources.
1141+ typeset -g POWERLEVEL9K_JENV_SOURCES=(shell local global)
1142+ # If set to false, hide java version if it's the same as global:
1143+ # $(jenv version-name) == $(jenv global).
1144+ typeset -g POWERLEVEL9K_JENV_PROMPT_ALWAYS_SHOW=false
1145+ # If set to false, hide java version if it's equal to "system".
1146+ typeset -g POWERLEVEL9K_JENV_SHOW_SYSTEM=true
1147+ # Custom icon.
1148+ # typeset -g POWERLEVEL9K_JENV_VISUAL_IDENTIFIER_EXPANSION='โญ'
1149+1150+ ###########[ plenv: perl version from plenv (https://github.com/tokuhirom/plenv) ]############
1151+ # Perl color.
1152+ typeset -g POWERLEVEL9K_PLENV_FOREGROUND=67
1153+ # Hide perl version if it doesn't come from one of these sources.
1154+ typeset -g POWERLEVEL9K_PLENV_SOURCES=(shell local global)
1155+ # If set to false, hide perl version if it's the same as global:
1156+ # $(plenv version-name) == $(plenv global).
1157+ typeset -g POWERLEVEL9K_PLENV_PROMPT_ALWAYS_SHOW=false
1158+ # If set to false, hide perl version if it's equal to "system".
1159+ typeset -g POWERLEVEL9K_PLENV_SHOW_SYSTEM=true
1160+ # Custom icon.
1161+ # typeset -g POWERLEVEL9K_PLENV_VISUAL_IDENTIFIER_EXPANSION='โญ'
1162+1163+ ###########[ perlbrew: perl version from perlbrew (https://github.com/gugod/App-perlbrew) ]############
1164+ # Perlbrew color.
1165+ typeset -g POWERLEVEL9K_PERLBREW_FOREGROUND=67
1166+ # Show perlbrew version only when in a perl project subdirectory.
1167+ typeset -g POWERLEVEL9K_PERLBREW_PROJECT_ONLY=true
1168+ # Don't show "perl-" at the front.
1169+ typeset -g POWERLEVEL9K_PERLBREW_SHOW_PREFIX=false
1170+ # Custom icon.
1171+ # typeset -g POWERLEVEL9K_PERLBREW_VISUAL_IDENTIFIER_EXPANSION='โญ'
1172+1173+ ############[ phpenv: php version from phpenv (https://github.com/phpenv/phpenv) ]############
1174+ # PHP color.
1175+ typeset -g POWERLEVEL9K_PHPENV_FOREGROUND=99
1176+ # Hide php version if it doesn't come from one of these sources.
1177+ typeset -g POWERLEVEL9K_PHPENV_SOURCES=(shell local global)
1178+ # If set to false, hide php version if it's the same as global:
1179+ # $(phpenv version-name) == $(phpenv global).
1180+ typeset -g POWERLEVEL9K_PHPENV_PROMPT_ALWAYS_SHOW=false
1181+ # If set to false, hide php version if it's equal to "system".
1182+ typeset -g POWERLEVEL9K_PHPENV_SHOW_SYSTEM=true
1183+ # Custom icon.
1184+ # typeset -g POWERLEVEL9K_PHPENV_VISUAL_IDENTIFIER_EXPANSION='โญ'
1185+1186+ #######[ scalaenv: scala version from scalaenv (https://github.com/scalaenv/scalaenv) ]#######
1187+ # Scala color.
1188+ typeset -g POWERLEVEL9K_SCALAENV_FOREGROUND=160
1189+ # Hide scala version if it doesn't come from one of these sources.
1190+ typeset -g POWERLEVEL9K_SCALAENV_SOURCES=(shell local global)
1191+ # If set to false, hide scala version if it's the same as global:
1192+ # $(scalaenv version-name) == $(scalaenv global).
1193+ typeset -g POWERLEVEL9K_SCALAENV_PROMPT_ALWAYS_SHOW=false
1194+ # If set to false, hide scala version if it's equal to "system".
1195+ typeset -g POWERLEVEL9K_SCALAENV_SHOW_SYSTEM=true
1196+ # Custom icon.
1197+ # typeset -g POWERLEVEL9K_SCALAENV_VISUAL_IDENTIFIER_EXPANSION='โญ'
1198+1199+ ##########[ haskell_stack: haskell version from stack (https://haskellstack.org/) ]###########
1200+ # Haskell color.
1201+ typeset -g POWERLEVEL9K_HASKELL_STACK_FOREGROUND=172
1202+ # Hide haskell version if it doesn't come from one of these sources.
1203+ #
1204+ # shell: version is set by STACK_YAML
1205+ # local: version is set by stack.yaml up the directory tree
1206+ # global: version is set by the implicit global project (~/.stack/global-project/stack.yaml)
1207+ typeset -g POWERLEVEL9K_HASKELL_STACK_SOURCES=(shell local)
1208+ # If set to false, hide haskell version if it's the same as in the implicit global project.
1209+ typeset -g POWERLEVEL9K_HASKELL_STACK_ALWAYS_SHOW=true
1210+ # Custom icon.
1211+ # typeset -g POWERLEVEL9K_HASKELL_STACK_VISUAL_IDENTIFIER_EXPANSION='โญ'
1212+1213+ ################[ terraform: terraform workspace (https://www.terraform.io) ]#################
1214+ # Don't show terraform workspace if it's literally "default".
1215+ typeset -g POWERLEVEL9K_TERRAFORM_SHOW_DEFAULT=false
1216+ # POWERLEVEL9K_TERRAFORM_CLASSES is an array with even number of elements. The first element
1217+ # in each pair defines a pattern against which the current terraform workspace gets matched.
1218+ # More specifically, it's P9K_CONTENT prior to the application of context expansion (see below)
1219+ # that gets matched. If you unset all POWERLEVEL9K_TERRAFORM_*CONTENT_EXPANSION parameters,
1220+ # you'll see this value in your prompt. The second element of each pair in
1221+ # POWERLEVEL9K_TERRAFORM_CLASSES defines the workspace class. Patterns are tried in order. The
1222+ # first match wins.
1223+ #
1224+ # For example, given these settings:
1225+ #
1226+ # typeset -g POWERLEVEL9K_TERRAFORM_CLASSES=(
1227+ # '*prod*' PROD
1228+ # '*test*' TEST
1229+ # '*' OTHER)
1230+ #
1231+ # If your current terraform workspace is "project_test", its class is TEST because "project_test"
1232+ # doesn't match the pattern '*prod*' but does match '*test*'.
1233+ #
1234+ # You can define different colors, icons and content expansions for different classes:
1235+ #
1236+ # typeset -g POWERLEVEL9K_TERRAFORM_TEST_FOREGROUND=28
1237+ # typeset -g POWERLEVEL9K_TERRAFORM_TEST_VISUAL_IDENTIFIER_EXPANSION='โญ'
1238+ # typeset -g POWERLEVEL9K_TERRAFORM_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <'
1239+ typeset -g POWERLEVEL9K_TERRAFORM_CLASSES=(
1240+ # '*prod*' PROD # These values are examples that are unlikely
1241+ # '*test*' TEST # to match your needs. Customize them as needed.
1242+ '*' OTHER)
1243+ typeset -g POWERLEVEL9K_TERRAFORM_OTHER_FOREGROUND=38
1244+ # typeset -g POWERLEVEL9K_TERRAFORM_OTHER_VISUAL_IDENTIFIER_EXPANSION='โญ'
1245+1246+ #############[ terraform_version: terraform version (https://www.terraform.io) ]##############
1247+ # Terraform version color.
1248+ typeset -g POWERLEVEL9K_TERRAFORM_VERSION_FOREGROUND=38
1249+ # Custom icon.
1250+ # typeset -g POWERLEVEL9K_TERRAFORM_VERSION_VISUAL_IDENTIFIER_EXPANSION='โญ'
1251+1252+ #############[ kubecontext: current kubernetes context (https://kubernetes.io/) ]#############
1253+ # Show kubecontext only when the command you are typing invokes one of these tools.
1254+ # Tip: Remove the next line to always show kubecontext.
1255+ typeset -g POWERLEVEL9K_KUBECONTEXT_SHOW_ON_COMMAND='kubectl|helm|kubens|kubectx|oc|istioctl|kogito|k9s|helmfile|flux|fluxctl|stern|kubeseal|skaffold|kubent'
1256+1257+ # Kubernetes context classes for the purpose of using different colors, icons and expansions with
1258+ # different contexts.
1259+ #
1260+ # POWERLEVEL9K_KUBECONTEXT_CLASSES is an array with even number of elements. The first element
1261+ # in each pair defines a pattern against which the current kubernetes context gets matched.
1262+ # More specifically, it's P9K_CONTENT prior to the application of context expansion (see below)
1263+ # that gets matched. If you unset all POWERLEVEL9K_KUBECONTEXT_*CONTENT_EXPANSION parameters,
1264+ # you'll see this value in your prompt. The second element of each pair in
1265+ # POWERLEVEL9K_KUBECONTEXT_CLASSES defines the context class. Patterns are tried in order. The
1266+ # first match wins.
1267+ #
1268+ # For example, given these settings:
1269+ #
1270+ # typeset -g POWERLEVEL9K_KUBECONTEXT_CLASSES=(
1271+ # '*prod*' PROD
1272+ # '*test*' TEST
1273+ # '*' DEFAULT)
1274+ #
1275+ # If your current kubernetes context is "deathray-testing/default", its class is TEST
1276+ # because "deathray-testing/default" doesn't match the pattern '*prod*' but does match '*test*'.
1277+ #
1278+ # You can define different colors, icons and content expansions for different classes:
1279+ #
1280+ # typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_FOREGROUND=28
1281+ # typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_VISUAL_IDENTIFIER_EXPANSION='โญ'
1282+ # typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <'
1283+ typeset -g POWERLEVEL9K_KUBECONTEXT_CLASSES=(
1284+ # '*prod*' PROD # These values are examples that are unlikely
1285+ # '*test*' TEST # to match your needs. Customize them as needed.
1286+ '*' DEFAULT)
1287+ typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_FOREGROUND=134
1288+ typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='โ'
1289+1290+ # Use POWERLEVEL9K_KUBECONTEXT_CONTENT_EXPANSION to specify the content displayed by kubecontext
1291+ # segment. Parameter expansions are very flexible and fast, too. See reference:
1292+ # http://zsh.sourceforge.net/Doc/Release/Expansion.html#Parameter-Expansion.
1293+ #
1294+ # Within the expansion the following parameters are always available:
1295+ #
1296+ # - P9K_CONTENT The content that would've been displayed if there was no content
1297+ # expansion defined.
1298+ # - P9K_KUBECONTEXT_NAME The current context's name. Corresponds to column NAME in the
1299+ # output of `kubectl config get-contexts`.
1300+ # - P9K_KUBECONTEXT_CLUSTER The current context's cluster. Corresponds to column CLUSTER in the
1301+ # output of `kubectl config get-contexts`.
1302+ # - P9K_KUBECONTEXT_NAMESPACE The current context's namespace. Corresponds to column NAMESPACE
1303+ # in the output of `kubectl config get-contexts`. If there is no
1304+ # namespace, the parameter is set to "default".
1305+ # - P9K_KUBECONTEXT_USER The current context's user. Corresponds to column AUTHINFO in the
1306+ # output of `kubectl config get-contexts`.
1307+ #
1308+ # If the context points to Google Kubernetes Engine (GKE) or Elastic Kubernetes Service (EKS),
1309+ # the following extra parameters are available:
1310+ #
1311+ # - P9K_KUBECONTEXT_CLOUD_NAME Either "gke" or "eks".
1312+ # - P9K_KUBECONTEXT_CLOUD_ACCOUNT Account/project ID.
1313+ # - P9K_KUBECONTEXT_CLOUD_ZONE Availability zone.
1314+ # - P9K_KUBECONTEXT_CLOUD_CLUSTER Cluster.
1315+ #
1316+ # P9K_KUBECONTEXT_CLOUD_* parameters are derived from P9K_KUBECONTEXT_CLUSTER. For example,
1317+ # if P9K_KUBECONTEXT_CLUSTER is "gke_my-account_us-east1-a_my-cluster-01":
1318+ #
1319+ # - P9K_KUBECONTEXT_CLOUD_NAME=gke
1320+ # - P9K_KUBECONTEXT_CLOUD_ACCOUNT=my-account
1321+ # - P9K_KUBECONTEXT_CLOUD_ZONE=us-east1-a
1322+ # - P9K_KUBECONTEXT_CLOUD_CLUSTER=my-cluster-01
1323+ #
1324+ # If P9K_KUBECONTEXT_CLUSTER is "arn:aws:eks:us-east-1:123456789012:cluster/my-cluster-01":
1325+ #
1326+ # - P9K_KUBECONTEXT_CLOUD_NAME=eks
1327+ # - P9K_KUBECONTEXT_CLOUD_ACCOUNT=123456789012
1328+ # - P9K_KUBECONTEXT_CLOUD_ZONE=us-east-1
1329+ # - P9K_KUBECONTEXT_CLOUD_CLUSTER=my-cluster-01
1330+ typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION=
1331+ # Show P9K_KUBECONTEXT_CLOUD_CLUSTER if it's not empty and fall back to P9K_KUBECONTEXT_NAME.
1332+ POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION+='${P9K_KUBECONTEXT_CLOUD_CLUSTER:-${P9K_KUBECONTEXT_NAME}}'
1333+ # Append the current context's namespace if it's not "default".
1334+ POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION+='${${:-/$P9K_KUBECONTEXT_NAMESPACE}:#/default}'
1335+1336+ # Custom prefix.
1337+ # typeset -g POWERLEVEL9K_KUBECONTEXT_PREFIX='%244Fat '
1338+1339+ #[ aws: aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) ]#
1340+ # Show aws only when the command you are typing invokes one of these tools.
1341+ # Tip: Remove the next line to always show aws.
1342+ typeset -g POWERLEVEL9K_AWS_SHOW_ON_COMMAND='aws|awless|terraform|pulumi|terragrunt'
1343+1344+ # POWERLEVEL9K_AWS_CLASSES is an array with even number of elements. The first element
1345+ # in each pair defines a pattern against which the current AWS profile gets matched.
1346+ # More specifically, it's P9K_CONTENT prior to the application of context expansion (see below)
1347+ # that gets matched. If you unset all POWERLEVEL9K_AWS_*CONTENT_EXPANSION parameters,
1348+ # you'll see this value in your prompt. The second element of each pair in
1349+ # POWERLEVEL9K_AWS_CLASSES defines the profile class. Patterns are tried in order. The
1350+ # first match wins.
1351+ #
1352+ # For example, given these settings:
1353+ #
1354+ # typeset -g POWERLEVEL9K_AWS_CLASSES=(
1355+ # '*prod*' PROD
1356+ # '*test*' TEST
1357+ # '*' DEFAULT)
1358+ #
1359+ # If your current AWS profile is "company_test", its class is TEST
1360+ # because "company_test" doesn't match the pattern '*prod*' but does match '*test*'.
1361+ #
1362+ # You can define different colors, icons and content expansions for different classes:
1363+ #
1364+ # typeset -g POWERLEVEL9K_AWS_TEST_FOREGROUND=28
1365+ # typeset -g POWERLEVEL9K_AWS_TEST_VISUAL_IDENTIFIER_EXPANSION='โญ'
1366+ # typeset -g POWERLEVEL9K_AWS_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <'
1367+ typeset -g POWERLEVEL9K_AWS_CLASSES=(
1368+ # '*prod*' PROD # These values are examples that are unlikely
1369+ # '*test*' TEST # to match your needs. Customize them as needed.
1370+ '*' DEFAULT)
1371+ typeset -g POWERLEVEL9K_AWS_DEFAULT_FOREGROUND=208
1372+ # typeset -g POWERLEVEL9K_AWS_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='โญ'
1373+1374+ # AWS segment format. The following parameters are available within the expansion.
1375+ #
1376+ # - P9K_AWS_PROFILE The name of the current AWS profile.
1377+ # - P9K_AWS_REGION The region associated with the current AWS profile.
1378+ typeset -g POWERLEVEL9K_AWS_CONTENT_EXPANSION='${P9K_AWS_PROFILE//\%/%%}${P9K_AWS_REGION:+ ${P9K_AWS_REGION//\%/%%}}'
1379+1380+ #[ aws_eb_env: aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/) ]#
1381+ # AWS Elastic Beanstalk environment color.
1382+ typeset -g POWERLEVEL9K_AWS_EB_ENV_FOREGROUND=70
1383+ # Custom icon.
1384+ typeset -g POWERLEVEL9K_AWS_EB_ENV_VISUAL_IDENTIFIER_EXPANSION='eb'
1385+1386+ ##########[ azure: azure account name (https://docs.microsoft.com/en-us/cli/azure) ]##########
1387+ # Show azure only when the command you are typing invokes one of these tools.
1388+ # Tip: Remove the next line to always show azure.
1389+ typeset -g POWERLEVEL9K_AZURE_SHOW_ON_COMMAND='az|terraform|pulumi|terragrunt'
1390+ # Azure account name color.
1391+ typeset -g POWERLEVEL9K_AZURE_FOREGROUND=32
1392+ # Custom icon.
1393+ typeset -g POWERLEVEL9K_AZURE_VISUAL_IDENTIFIER_EXPANSION='az'
1394+1395+ ##########[ gcloud: google cloud account and project (https://cloud.google.com/) ]###########
1396+ # Show gcloud only when the command you are typing invokes one of these tools.
1397+ # Tip: Remove the next line to always show gcloud.
1398+ typeset -g POWERLEVEL9K_GCLOUD_SHOW_ON_COMMAND='gcloud|gcs|gsutil'
1399+ # Google cloud color.
1400+ typeset -g POWERLEVEL9K_GCLOUD_FOREGROUND=32
1401+1402+ # Google cloud format. Change the value of POWERLEVEL9K_GCLOUD_PARTIAL_CONTENT_EXPANSION and/or
1403+ # POWERLEVEL9K_GCLOUD_COMPLETE_CONTENT_EXPANSION if the default is too verbose or not informative
1404+ # enough. You can use the following parameters in the expansions. Each of them corresponds to the
1405+ # output of `gcloud` tool.
1406+ #
1407+ # Parameter | Source
1408+ # -------------------------|--------------------------------------------------------------------
1409+ # P9K_GCLOUD_CONFIGURATION | gcloud config configurations list --format='value(name)'
1410+ # P9K_GCLOUD_ACCOUNT | gcloud config get-value account
1411+ # P9K_GCLOUD_PROJECT_ID | gcloud config get-value project
1412+ # P9K_GCLOUD_PROJECT_NAME | gcloud projects describe $P9K_GCLOUD_PROJECT_ID --format='value(name)'
1413+ #
1414+ # Note: ${VARIABLE//\%/%%} expands to ${VARIABLE} with all occurrences of '%' replaced with '%%'.
1415+ #
1416+ # Obtaining project name requires sending a request to Google servers. This can take a long time
1417+ # and even fail. When project name is unknown, P9K_GCLOUD_PROJECT_NAME is not set and gcloud
1418+ # prompt segment is in state PARTIAL. When project name gets known, P9K_GCLOUD_PROJECT_NAME gets
1419+ # set and gcloud prompt segment transitions to state COMPLETE.
1420+ #
1421+ # You can customize the format, icon and colors of gcloud segment separately for states PARTIAL
1422+ # and COMPLETE. You can also hide gcloud in state PARTIAL by setting
1423+ # POWERLEVEL9K_GCLOUD_PARTIAL_VISUAL_IDENTIFIER_EXPANSION and
1424+ # POWERLEVEL9K_GCLOUD_PARTIAL_CONTENT_EXPANSION to empty.
1425+ typeset -g POWERLEVEL9K_GCLOUD_PARTIAL_CONTENT_EXPANSION='${P9K_GCLOUD_PROJECT_ID//\%/%%}'
1426+ typeset -g POWERLEVEL9K_GCLOUD_COMPLETE_CONTENT_EXPANSION='${P9K_GCLOUD_PROJECT_NAME//\%/%%}'
1427+1428+ # Send a request to Google (by means of `gcloud projects describe ...`) to obtain project name
1429+ # this often. Negative value disables periodic polling. In this mode project name is retrieved
1430+ # only when the current configuration, account or project id changes.
1431+ typeset -g POWERLEVEL9K_GCLOUD_REFRESH_PROJECT_NAME_SECONDS=60
1432+1433+ # Custom icon.
1434+ # typeset -g POWERLEVEL9K_GCLOUD_VISUAL_IDENTIFIER_EXPANSION='โญ'
1435+1436+ #[ google_app_cred: google application credentials (https://cloud.google.com/docs/authentication/production) ]#
1437+ # Show google_app_cred only when the command you are typing invokes one of these tools.
1438+ # Tip: Remove the next line to always show google_app_cred.
1439+ typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_SHOW_ON_COMMAND='terraform|pulumi|terragrunt'
1440+1441+ # Google application credentials classes for the purpose of using different colors, icons and
1442+ # expansions with different credentials.
1443+ #
1444+ # POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES is an array with even number of elements. The first
1445+ # element in each pair defines a pattern against which the current kubernetes context gets
1446+ # matched. More specifically, it's P9K_CONTENT prior to the application of context expansion
1447+ # (see below) that gets matched. If you unset all POWERLEVEL9K_GOOGLE_APP_CRED_*CONTENT_EXPANSION
1448+ # parameters, you'll see this value in your prompt. The second element of each pair in
1449+ # POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES defines the context class. Patterns are tried in order.
1450+ # The first match wins.
1451+ #
1452+ # For example, given these settings:
1453+ #
1454+ # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES=(
1455+ # '*:*prod*:*' PROD
1456+ # '*:*test*:*' TEST
1457+ # '*' DEFAULT)
1458+ #
1459+ # If your current Google application credentials is "service_account deathray-testing x@y.com",
1460+ # its class is TEST because it doesn't match the pattern '* *prod* *' but does match '* *test* *'.
1461+ #
1462+ # You can define different colors, icons and content expansions for different classes:
1463+ #
1464+ # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_TEST_FOREGROUND=28
1465+ # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_TEST_VISUAL_IDENTIFIER_EXPANSION='โญ'
1466+ # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_TEST_CONTENT_EXPANSION='$P9K_GOOGLE_APP_CRED_PROJECT_ID'
1467+ typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES=(
1468+ # '*:*prod*:*' PROD # These values are examples that are unlikely
1469+ # '*:*test*:*' TEST # to match your needs. Customize them as needed.
1470+ '*' DEFAULT)
1471+ typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_FOREGROUND=32
1472+ # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='โญ'
1473+1474+ # Use POWERLEVEL9K_GOOGLE_APP_CRED_CONTENT_EXPANSION to specify the content displayed by
1475+ # google_app_cred segment. Parameter expansions are very flexible and fast, too. See reference:
1476+ # http://zsh.sourceforge.net/Doc/Release/Expansion.html#Parameter-Expansion.
1477+ #
1478+ # You can use the following parameters in the expansion. Each of them corresponds to one of the
1479+ # fields in the JSON file pointed to by GOOGLE_APPLICATION_CREDENTIALS.
1480+ #
1481+ # Parameter | JSON key file field
1482+ # ---------------------------------+---------------
1483+ # P9K_GOOGLE_APP_CRED_TYPE | type
1484+ # P9K_GOOGLE_APP_CRED_PROJECT_ID | project_id
1485+ # P9K_GOOGLE_APP_CRED_CLIENT_EMAIL | client_email
1486+ #
1487+ # Note: ${VARIABLE//\%/%%} expands to ${VARIABLE} with all occurrences of '%' replaced by '%%'.
1488+ typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_CONTENT_EXPANSION='${P9K_GOOGLE_APP_CRED_PROJECT_ID//\%/%%}'
1489+1490+ ##############[ toolbox: toolbox name (https://github.com/containers/toolbox) ]###############
1491+ # Toolbox color.
1492+ typeset -g POWERLEVEL9K_TOOLBOX_FOREGROUND=178
1493+ # Don't display the name of the toolbox if it matches fedora-toolbox-*.
1494+ typeset -g POWERLEVEL9K_TOOLBOX_CONTENT_EXPANSION='${P9K_TOOLBOX_NAME:#fedora-toolbox-*}'
1495+ # Custom icon.
1496+ # typeset -g POWERLEVEL9K_TOOLBOX_VISUAL_IDENTIFIER_EXPANSION='โญ'
1497+ # Custom prefix.
1498+ # typeset -g POWERLEVEL9K_TOOLBOX_PREFIX='%244Fin '
1499+1500+ ###############################[ public_ip: public IP address ]###############################
1501+ # Public IP color.
1502+ typeset -g POWERLEVEL9K_PUBLIC_IP_FOREGROUND=94
1503+ # Custom icon.
1504+ # typeset -g POWERLEVEL9K_PUBLIC_IP_VISUAL_IDENTIFIER_EXPANSION='โญ'
1505+1506+ ########################[ vpn_ip: virtual private network indicator ]#########################
1507+ # VPN IP color.
1508+ typeset -g POWERLEVEL9K_VPN_IP_FOREGROUND=81
1509+ # When on VPN, show just an icon without the IP address.
1510+ # Tip: To display the private IP address when on VPN, remove the next line.
1511+ typeset -g POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION=
1512+ # Regular expression for the VPN network interface. Run `ifconfig` or `ip -4 a show` while on VPN
1513+ # to see the name of the interface.
1514+ typeset -g POWERLEVEL9K_VPN_IP_INTERFACE='(gpd|wg|(.*tun)|tailscale)[0-9]*'
1515+ # If set to true, show one segment per matching network interface. If set to false, show only
1516+ # one segment corresponding to the first matching network interface.
1517+ # Tip: If you set it to true, you'll probably want to unset POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION.
1518+ typeset -g POWERLEVEL9K_VPN_IP_SHOW_ALL=false
1519+ # Custom icon.
1520+ # typeset -g POWERLEVEL9K_VPN_IP_VISUAL_IDENTIFIER_EXPANSION='โญ'
1521+1522+ ###########[ ip: ip address and bandwidth usage for a specified network interface ]###########
1523+ # IP color.
1524+ typeset -g POWERLEVEL9K_IP_FOREGROUND=38
1525+ # The following parameters are accessible within the expansion:
1526+ #
1527+ # Parameter | Meaning
1528+ # ----------------------+-------------------------------------------
1529+ # P9K_IP_IP | IP address
1530+ # P9K_IP_INTERFACE | network interface
1531+ # P9K_IP_RX_BYTES | total number of bytes received
1532+ # P9K_IP_TX_BYTES | total number of bytes sent
1533+ # P9K_IP_RX_BYTES_DELTA | number of bytes received since last prompt
1534+ # P9K_IP_TX_BYTES_DELTA | number of bytes sent since last prompt
1535+ # P9K_IP_RX_RATE | receive rate (since last prompt)
1536+ # P9K_IP_TX_RATE | send rate (since last prompt)
1537+ typeset -g POWERLEVEL9K_IP_CONTENT_EXPANSION='${P9K_IP_RX_RATE:+%70Fโฃ$P9K_IP_RX_RATE }${P9K_IP_TX_RATE:+%215Fโก$P9K_IP_TX_RATE }%38F$P9K_IP_IP'
1538+ # Show information for the first network interface whose name matches this regular expression.
1539+ # Run `ifconfig` or `ip -4 a show` to see the names of all network interfaces.
1540+ typeset -g POWERLEVEL9K_IP_INTERFACE='[ew].*'
1541+ # Custom icon.
1542+ # typeset -g POWERLEVEL9K_IP_VISUAL_IDENTIFIER_EXPANSION='โญ'
1543+1544+ #########################[ proxy: system-wide http/https/ftp proxy ]##########################
1545+ # Proxy color.
1546+ typeset -g POWERLEVEL9K_PROXY_FOREGROUND=68
1547+ # Custom icon.
1548+ # typeset -g POWERLEVEL9K_PROXY_VISUAL_IDENTIFIER_EXPANSION='โญ'
1549+1550+ ################################[ battery: internal battery ]#################################
1551+ # Show battery in red when it's below this level and not connected to power supply.
1552+ typeset -g POWERLEVEL9K_BATTERY_LOW_THRESHOLD=20
1553+ typeset -g POWERLEVEL9K_BATTERY_LOW_FOREGROUND=160
1554+ # Show battery in green when it's charging or fully charged.
1555+ typeset -g POWERLEVEL9K_BATTERY_{CHARGING,CHARGED}_FOREGROUND=70
1556+ # Show battery in yellow when it's discharging.
1557+ typeset -g POWERLEVEL9K_BATTERY_DISCONNECTED_FOREGROUND=178
1558+ # Battery pictograms going from low to high level of charge.
1559+ typeset -g POWERLEVEL9K_BATTERY_STAGES=('%K{232}โ' '%K{232}โ' '%K{232}โ' '%K{232}โ' '%K{232}โ ' '%K{232}โ' '%K{232}โ' '%K{232}โ')
1560+ # Don't show the remaining time to charge/discharge.
1561+ typeset -g POWERLEVEL9K_BATTERY_VERBOSE=false
1562+1563+ #####################################[ wifi: wifi speed ]#####################################
1564+ # WiFi color.
1565+ typeset -g POWERLEVEL9K_WIFI_FOREGROUND=68
1566+ # Custom icon.
1567+ # typeset -g POWERLEVEL9K_WIFI_VISUAL_IDENTIFIER_EXPANSION='โญ'
1568+1569+ # Use different colors and icons depending on signal strength ($P9K_WIFI_BARS).
1570+ #
1571+ # # Wifi colors and icons for different signal strength levels (low to high).
1572+ # typeset -g my_wifi_fg=(68 68 68 68 68) # <-- change these values
1573+ # typeset -g my_wifi_icon=('WiFi' 'WiFi' 'WiFi' 'WiFi' 'WiFi') # <-- change these values
1574+ #
1575+ # typeset -g POWERLEVEL9K_WIFI_CONTENT_EXPANSION='%F{${my_wifi_fg[P9K_WIFI_BARS+1]}}$P9K_WIFI_LAST_TX_RATE Mbps'
1576+ # typeset -g POWERLEVEL9K_WIFI_VISUAL_IDENTIFIER_EXPANSION='%F{${my_wifi_fg[P9K_WIFI_BARS+1]}}${my_wifi_icon[P9K_WIFI_BARS+1]}'
1577+ #
1578+ # The following parameters are accessible within the expansions:
1579+ #
1580+ # Parameter | Meaning
1581+ # ----------------------+---------------
1582+ # P9K_WIFI_SSID | service set identifier, a.k.a. network name
1583+ # P9K_WIFI_LINK_AUTH | authentication protocol such as "wpa2-psk" or "none"; empty if unknown
1584+ # P9K_WIFI_LAST_TX_RATE | wireless transmit rate in megabits per second
1585+ # P9K_WIFI_RSSI | signal strength in dBm, from -120 to 0
1586+ # P9K_WIFI_NOISE | noise in dBm, from -120 to 0
1587+ # P9K_WIFI_BARS | signal strength in bars, from 0 to 4 (derived from P9K_WIFI_RSSI and P9K_WIFI_NOISE)
1588+1589+ ####################################[ time: current time ]####################################
1590+ # Current time color.
1591+ typeset -g POWERLEVEL9K_TIME_FOREGROUND=66
1592+ # Format for the current time: 09:51:02. See `man 3 strftime`.
1593+ typeset -g POWERLEVEL9K_TIME_FORMAT='%D{%H:%M:%S}'
1594+ # If set to true, time will update when you hit enter. This way prompts for the past
1595+ # commands will contain the start times of their commands as opposed to the default
1596+ # behavior where they contain the end times of their preceding commands.
1597+ typeset -g POWERLEVEL9K_TIME_UPDATE_ON_COMMAND=false
1598+ # Custom icon.
1599+ typeset -g POWERLEVEL9K_TIME_VISUAL_IDENTIFIER_EXPANSION=
1600+ # Custom prefix.
1601+ # typeset -g POWERLEVEL9K_TIME_PREFIX='%244Fat '
1602+1603+ # Example of a user-defined prompt segment. Function prompt_example will be called on every
1604+ # prompt if `example` prompt segment is added to POWERLEVEL9K_LEFT_PROMPT_ELEMENTS or
1605+ # POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS. It displays an icon and orange text greeting the user.
1606+ #
1607+ # Type `p10k help segment` for documentation and a more sophisticated example.
1608+ function prompt_example() {
1609+ p10k segment -f 208 -i 'โญ' -t 'hello, %n'
1610+ }
1611+1612+ # User-defined prompt segments may optionally provide an instant_prompt_* function. Its job
1613+ # is to generate the prompt segment for display in instant prompt. See
1614+ # https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt.
1615+ #
1616+ # Powerlevel10k will call instant_prompt_* at the same time as the regular prompt_* function
1617+ # and will record all `p10k segment` calls it makes. When displaying instant prompt, Powerlevel10k
1618+ # will replay these calls without actually calling instant_prompt_*. It is imperative that
1619+ # instant_prompt_* always makes the same `p10k segment` calls regardless of environment. If this
1620+ # rule is not observed, the content of instant prompt will be incorrect.
1621+ #
1622+ # Usually, you should either not define instant_prompt_* or simply call prompt_* from it. If
1623+ # instant_prompt_* is not defined for a segment, the segment won't be shown in instant prompt.
1624+ function instant_prompt_example() {
1625+ # Since prompt_example always makes the same `p10k segment` calls, we can call it from
1626+ # instant_prompt_example. This will give us the same `example` prompt segment in the instant
1627+ # and regular prompts.
1628+ prompt_example
1629+ }
1630+1631+ # User-defined prompt segments can be customized the same way as built-in segments.
1632+ # typeset -g POWERLEVEL9K_EXAMPLE_FOREGROUND=208
1633+ # typeset -g POWERLEVEL9K_EXAMPLE_VISUAL_IDENTIFIER_EXPANSION='โญ'
1634+1635+ # Transient prompt works similarly to the builtin transient_rprompt option. It trims down prompt
1636+ # when accepting a command line. Supported values:
1637+ #
1638+ # - off: Don't change prompt when accepting a command line.
1639+ # - always: Trim down prompt when accepting a command line.
1640+ # - same-dir: Trim down prompt when accepting a command line unless this is the first command
1641+ # typed after changing current working directory.
1642+ typeset -g POWERLEVEL9K_TRANSIENT_PROMPT=always
1643+1644+ # Instant prompt mode.
1645+ #
1646+ # - off: Disable instant prompt. Choose this if you've tried instant prompt and found
1647+ # it incompatible with your zsh configuration files.
1648+ # - quiet: Enable instant prompt and don't print warnings when detecting console output
1649+ # during zsh initialization. Choose this if you've read and understood
1650+ # https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt.
1651+ # - verbose: Enable instant prompt and print a warning when detecting console output during
1652+ # zsh initialization. Choose this if you've never tried instant prompt, haven't
1653+ # seen the warning, or if you are unsure what this all means.
1654+ typeset -g POWERLEVEL9K_INSTANT_PROMPT=verbose
1655+1656+ # Hot reload allows you to change POWERLEVEL9K options after Powerlevel10k has been initialized.
1657+ # For example, you can type POWERLEVEL9K_BACKGROUND=red and see your prompt turn red. Hot reload
1658+ # can slow down prompt by 1-2 milliseconds, so it's better to keep it turned off unless you
1659+ # really need it.
1660+ typeset -g POWERLEVEL9K_DISABLE_HOT_RELOAD=true
1661+1662+ # If p10k is already loaded, reload configuration.
1663+ # This works even with POWERLEVEL9K_DISABLE_HOT_RELOAD=true.
1664+ (( ! $+functions[p10k] )) || p10k reload
1665+}
1666+1667+# Tell `p10k configure` which file it should overwrite.
1668+typeset -g POWERLEVEL9K_CONFIG_FILE=${${(%):-%x}:a}
1669+1670+(( ${#p10k_config_opts} )) && setopt ${p10k_config_opts[@]}
1671+'builtin' 'unset' 'p10k_config_opts'
···1# Do not modify this file! It was generated by โnixos-generate-configโ
2# and may be overwritten by future invocations. Please make changes
3# to /etc/nixos/configuration.nix instead.
4-{
5- config,
6- lib,
7- pkgs,
8- ...
9-}: {
10- imports = [];
11-12 boot.initrd.availableKernelModules = ["uhci_hcd" "ehci_pci" "ahci" "firewire_ohci" "usbhid" "usb_storage" "sd_mod" "sr_mod" "sdhci_pci"];
13- boot.initrd.kernelModules = [];
14 boot.kernelModules = ["kvm-intel" "wl"];
15 boot.extraModulePackages = [];
16 boot.supportedFilesystems = ["ntfs-3g"];
···20 fsType = "ext4";
21 };
220000023 fileSystems."/nix/store" = {
24- device = "/dev/disk/by-uuid/1ee9d669-07e1-4f40-93af-71f9ad999f70";
25 fsType = "ext4";
26 };
27
···1# Do not modify this file! It was generated by โnixos-generate-configโ
2# and may be overwritten by future invocations. Please make changes
3# to /etc/nixos/configuration.nix instead.
4+{lib, ...}: {
00000005 boot.initrd.availableKernelModules = ["uhci_hcd" "ehci_pci" "ahci" "firewire_ohci" "usbhid" "usb_storage" "sd_mod" "sr_mod" "sdhci_pci"];
6+ boot.initrd.kernelModules = ["dm-snapshot"];
7 boot.kernelModules = ["kvm-intel" "wl"];
8 boot.extraModulePackages = [];
9 boot.supportedFilesystems = ["ntfs-3g"];
···13 fsType = "ext4";
14 };
1516+ # fileSystems."/nix/store" = {
17+ # device = "/dev/disk/by-uuid/1ee9d669-07e1-4f40-93af-71f9ad999f70";
18+ # fsType = "ext4";
19+ # };
20+21 fileSystems."/nix/store" = {
22+ device = "/dev/mapper/pool-store--old";
23 fsType = "ext4";
24 };
25
+40
nixos/configurations/hardware/hyperion.nix
···0000000000000000000000000000000000000000
···1+# Do not modify this file! It was generated by โnixos-generate-configโ
2+# and may be overwritten by future invocations. Please make changes
3+# to /etc/nixos/configuration.nix instead.
4+{
5+ lib,
6+ modulesPath,
7+ ...
8+}: {
9+ imports = [
10+ (modulesPath + "/profiles/qemu-guest.nix")
11+ ];
12+13+ boot.initrd.availableKernelModules = ["xhci_pci" "virtio_pci" "usbhid" "usb_storage" "sr_mod"];
14+ boot.initrd.kernelModules = [];
15+ boot.kernelModules = [];
16+ boot.extraModulePackages = [];
17+18+ fileSystems."/" = {
19+ device = "/dev/disk/by-uuid/1c2c9f5f-041a-400d-9bfb-7b25639dff4f";
20+ fsType = "ext4";
21+ };
22+23+ fileSystems."/boot/efi" = {
24+ device = "/dev/disk/by-uuid/0A83-6143";
25+ fsType = "vfat";
26+ };
27+28+ swapDevices = [
29+ {device = "/dev/disk/by-uuid/d0a59a01-aa79-4ec6-aec0-b299be6c1157";}
30+ ];
31+32+ # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
33+ # (the default) this is the recommended approach. When using systemd-networkd it's
34+ # still possible to use this option, but it's recommended to use it in conjunction
35+ # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
36+ networking.useDHCP = lib.mkDefault true;
37+ # networking.interfaces.enp0s6.useDHCP = lib.mkDefault true;
38+39+ nixpkgs.hostPlatform = lib.mkDefault "aarch64-linux";
40+}