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