diff options
| -rw-r--r-- | accounts/gkleen@sif/default.nix | 2 | ||||
| -rw-r--r-- | accounts/root@sif.nix | 18 | ||||
| -rw-r--r-- | hosts/sif/default.nix | 1 | ||||
| -rw-r--r-- | user-profiles/zsh/p10k.zsh | 121 | ||||
| -rw-r--r-- | users/root.nix | 26 |
5 files changed, 117 insertions, 51 deletions
diff --git a/accounts/gkleen@sif/default.nix b/accounts/gkleen@sif/default.nix index 163e75f1..cbf146dd 100644 --- a/accounts/gkleen@sif/default.nix +++ b/accounts/gkleen@sif/default.nix | |||
| @@ -179,6 +179,8 @@ in { | |||
| 179 | stateVersion = "20.03"; | 179 | stateVersion = "20.03"; |
| 180 | }; | 180 | }; |
| 181 | 181 | ||
| 182 | fonts.fontconfig.enable = true; | ||
| 183 | |||
| 182 | systemd.user = import ./systemd.nix inputs; | 184 | systemd.user = import ./systemd.nix inputs; |
| 183 | }; | 185 | }; |
| 184 | } | 186 | } |
diff --git a/accounts/root@sif.nix b/accounts/root@sif.nix new file mode 100644 index 00000000..979463ba --- /dev/null +++ b/accounts/root@sif.nix | |||
| @@ -0,0 +1,18 @@ | |||
| 1 | { userName, ... }: | ||
| 2 | { | ||
| 3 | home-manager.users.${userName} = { | ||
| 4 | programs.ssh.matchBlocks = { | ||
| 5 | "git.yggdrasil.li" = { | ||
| 6 | user = "gitolite"; | ||
| 7 | identityFile = "~/.ssh/sysconf"; | ||
| 8 | }; | ||
| 9 | "borg.munin" = { | ||
| 10 | hostname = "u120515.your-storagebox.de"; | ||
| 11 | user = "u120515"; | ||
| 12 | identityFile = "~/.ssh/borg.munin"; | ||
| 13 | identitiesOnly = true; | ||
| 14 | port = 23; | ||
| 15 | }; | ||
| 16 | }; | ||
| 17 | }; | ||
| 18 | } | ||
diff --git a/hosts/sif/default.nix b/hosts/sif/default.nix index 9271515f..b54b6caf 100644 --- a/hosts/sif/default.nix +++ b/hosts/sif/default.nix | |||
| @@ -187,6 +187,7 @@ | |||
| 187 | 187 | ||
| 188 | users = { | 188 | users = { |
| 189 | users.gkleen.extraGroups = [ "media" ]; | 189 | users.gkleen.extraGroups = [ "media" ]; |
| 190 | groups.media = {}; | ||
| 190 | }; | 191 | }; |
| 191 | 192 | ||
| 192 | hardware = { | 193 | hardware = { |
diff --git a/user-profiles/zsh/p10k.zsh b/user-profiles/zsh/p10k.zsh index 517b6a9b..dd540296 100644 --- a/user-profiles/zsh/p10k.zsh +++ b/user-profiles/zsh/p10k.zsh | |||
| @@ -1,8 +1,7 @@ | |||
| 1 | # Generated by Powerlevel10k configuration wizard on 2020-10-15 at 12:01 UTC. | 1 | # Generated by Powerlevel10k configuration wizard on 2021-01-03 at 14:51 CET. |
| 2 | # Based on romkatv/powerlevel10k/config/p10k-lean.zsh. | 2 | # Based on romkatv/powerlevel10k/config/p10k-lean.zsh. |
| 3 | # Wizard options: nerdfont-complete + powerline, small icons, unicode, lean, 24h time, | 3 | # Wizard options: powerline, unicode, lean, 24h time, 2 lines, solid, no frame, |
| 4 | # 2 lines, solid, no frame, dark-ornaments, sparse, many icons, concise, | 4 | # darkest-ornaments, sparse, concise, transient_prompt, instant_prompt=quiet. |
| 5 | # transient_prompt, instant_prompt=off. | ||
| 6 | # Type `p10k configure` to generate another config. | 5 | # Type `p10k configure` to generate another config. |
| 7 | # | 6 | # |
| 8 | # Config for Powerlevel10k with lean prompt style. Type `p10k configure` to generate | 7 | # Config for Powerlevel10k with lean prompt style. Type `p10k configure` to generate |
| @@ -32,7 +31,7 @@ | |||
| 32 | # The list of segments shown on the left. Fill it with the most important segments. | 31 | # The list of segments shown on the left. Fill it with the most important segments. |
| 33 | typeset -g POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=( | 32 | typeset -g POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=( |
| 34 | # =========================[ Line #1 ]========================= | 33 | # =========================[ Line #1 ]========================= |
| 35 | os_icon # os identifier | 34 | # os_icon # os identifier |
| 36 | dir # current directory | 35 | dir # current directory |
| 37 | vcs # git status | 36 | vcs # git status |
| 38 | # =========================[ Line #2 ]========================= | 37 | # =========================[ Line #2 ]========================= |
| @@ -73,6 +72,7 @@ | |||
| 73 | jenv # java version from jenv (https://github.com/jenv/jenv) | 72 | jenv # java version from jenv (https://github.com/jenv/jenv) |
| 74 | plenv # perl version from plenv (https://github.com/tokuhirom/plenv) | 73 | plenv # perl version from plenv (https://github.com/tokuhirom/plenv) |
| 75 | phpenv # php version from phpenv (https://github.com/phpenv/phpenv) | 74 | phpenv # php version from phpenv (https://github.com/phpenv/phpenv) |
| 75 | scalaenv # scala version from scalaenv (https://github.com/scalaenv/scalaenv) | ||
| 76 | haskell_stack # haskell version from stack (https://haskellstack.org/) | 76 | haskell_stack # haskell version from stack (https://haskellstack.org/) |
| 77 | kubecontext # current kubernetes context (https://kubernetes.io/) | 77 | kubecontext # current kubernetes context (https://kubernetes.io/) |
| 78 | terraform # terraform workspace (https://www.terraform.io) | 78 | terraform # terraform workspace (https://www.terraform.io) |
| @@ -108,7 +108,7 @@ | |||
| 108 | ) | 108 | ) |
| 109 | 109 | ||
| 110 | # Defines character set used by powerlevel10k. It's best to let `p10k configure` set it for you. | 110 | # Defines character set used by powerlevel10k. It's best to let `p10k configure` set it for you. |
| 111 | typeset -g POWERLEVEL9K_MODE=nerdfont-complete | 111 | typeset -g POWERLEVEL9K_MODE=powerline |
| 112 | # When set to `moderate`, some icons will have an extra space after them. This is meant to avoid | 112 | # When set to `moderate`, some icons will have an extra space after them. This is meant to avoid |
| 113 | # icon overlap when using non-monospace fonts. When set to `none`, spaces are not added. | 113 | # icon overlap when using non-monospace fonts. When set to `none`, spaces are not added. |
| 114 | typeset -g POWERLEVEL9K_ICON_PADDING=none | 114 | typeset -g POWERLEVEL9K_ICON_PADDING=none |
| @@ -155,7 +155,7 @@ | |||
| 155 | # POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR=' ' below. | 155 | # POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR=' ' below. |
| 156 | typeset -g POWERLEVEL9K_SHOW_RULER=false | 156 | typeset -g POWERLEVEL9K_SHOW_RULER=false |
| 157 | typeset -g POWERLEVEL9K_RULER_CHAR='─' # reasonable alternative: '·' | 157 | typeset -g POWERLEVEL9K_RULER_CHAR='─' # reasonable alternative: '·' |
| 158 | typeset -g POWERLEVEL9K_RULER_FOREGROUND=240 | 158 | typeset -g POWERLEVEL9K_RULER_FOREGROUND=238 |
| 159 | 159 | ||
| 160 | # Filler between left and right prompt on the first prompt line. You can set it to '·' or '─' | 160 | # Filler between left and right prompt on the first prompt line. You can set it to '·' or '─' |
| 161 | # to make it easier to see the alignment between left and right prompt and to separate prompt | 161 | # to make it easier to see the alignment between left and right prompt and to separate prompt |
| @@ -166,7 +166,7 @@ | |||
| 166 | typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR='─' | 166 | typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR='─' |
| 167 | if [[ $POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR != ' ' ]]; then | 167 | if [[ $POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR != ' ' ]]; then |
| 168 | # The color of the filler. | 168 | # The color of the filler. |
| 169 | typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_FOREGROUND=240 | 169 | typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_FOREGROUND=238 |
| 170 | # Add a space between the end of left prompt and the filler. | 170 | # Add a space between the end of left prompt and the filler. |
| 171 | typeset -g POWERLEVEL9K_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL=' ' | 171 | typeset -g POWERLEVEL9K_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL=' ' |
| 172 | # Add a space between the filler and the start of right prompt. | 172 | # Add a space between the filler and the start of right prompt. |
| @@ -180,8 +180,8 @@ | |||
| 180 | #################################[ os_icon: os identifier ]################################## | 180 | #################################[ os_icon: os identifier ]################################## |
| 181 | # OS identifier color. | 181 | # OS identifier color. |
| 182 | typeset -g POWERLEVEL9K_OS_ICON_FOREGROUND= | 182 | typeset -g POWERLEVEL9K_OS_ICON_FOREGROUND= |
| 183 | # Make the icon bold. | 183 | # Custom icon. |
| 184 | typeset -g POWERLEVEL9K_OS_ICON_CONTENT_EXPANSION='${P9K_CONTENT}' | 184 | # typeset -g POWERLEVEL9K_OS_ICON_CONTENT_EXPANSION='⭐' |
| 185 | 185 | ||
| 186 | ################################[ prompt_char: prompt symbol ]################################ | 186 | ################################[ prompt_char: prompt symbol ]################################ |
| 187 | # Green prompt symbol if the last command succeeded. | 187 | # Green prompt symbol if the last command succeeded. |
| @@ -248,6 +248,11 @@ | |||
| 248 | # /foo/bar/git_repo/nested_git_repo/baz, prompt will display git_repo/nested_git_repo/baz (first) | 248 | # /foo/bar/git_repo/nested_git_repo/baz, prompt will display git_repo/nested_git_repo/baz (first) |
| 249 | # or nested_git_repo/baz (last). This assumes that git_repo and nested_git_repo contain markers | 249 | # or nested_git_repo/baz (last). This assumes that git_repo and nested_git_repo contain markers |
| 250 | # and other directories don't. | 250 | # and other directories don't. |
| 251 | # | ||
| 252 | # Optionally, "first" and "last" can be followed by ":<offset>" where <offset> is an integer. | ||
| 253 | # This moves the truncation point to the right (positive offset) or to the left (negative offset) | ||
| 254 | # relative to the marker. Plain "first" and "last" are equivalent to "first:0" and "last:0" | ||
| 255 | # respectively. | ||
| 251 | typeset -g POWERLEVEL9K_DIR_TRUNCATE_BEFORE_MARKER=false | 256 | typeset -g POWERLEVEL9K_DIR_TRUNCATE_BEFORE_MARKER=false |
| 252 | # Don't shorten this many last directory segments. They are anchors. | 257 | # Don't shorten this many last directory segments. They are anchors. |
| 253 | typeset -g POWERLEVEL9K_SHORTEN_DIR_LENGTH=1 | 258 | typeset -g POWERLEVEL9K_SHORTEN_DIR_LENGTH=1 |
| @@ -269,13 +274,13 @@ | |||
| 269 | # the full directory that was used in previous commands. | 274 | # the full directory that was used in previous commands. |
| 270 | typeset -g POWERLEVEL9K_DIR_HYPERLINK=false | 275 | typeset -g POWERLEVEL9K_DIR_HYPERLINK=false |
| 271 | 276 | ||
| 272 | # Enable special styling for non-writable directories. See POWERLEVEL9K_LOCK_ICON and | 277 | # Enable special styling for non-writable and non-existent directories. See POWERLEVEL9K_LOCK_ICON |
| 273 | # POWERLEVEL9K_DIR_CLASSES below. | 278 | # and POWERLEVEL9K_DIR_CLASSES below. |
| 274 | typeset -g POWERLEVEL9K_DIR_SHOW_WRITABLE=v2 | 279 | typeset -g POWERLEVEL9K_DIR_SHOW_WRITABLE=v3 |
| 275 | 280 | ||
| 276 | # The default icon shown next to non-writable directories when POWERLEVEL9K_DIR_SHOW_WRITABLE is | 281 | # The default icon shown next to non-writable and non-existent directories when |
| 277 | # set to v2. | 282 | # POWERLEVEL9K_DIR_SHOW_WRITABLE is set to v3. |
| 278 | # typeset -g POWERLEVEL9K_LOCK_ICON='' | 283 | typeset -g POWERLEVEL9K_LOCK_ICON='' |
| 279 | 284 | ||
| 280 | # POWERLEVEL9K_DIR_CLASSES allows you to specify custom icons and colors for different | 285 | # POWERLEVEL9K_DIR_CLASSES allows you to specify custom icons and colors for different |
| 281 | # directories. It must be an array with 3 * N elements. Each triplet consists of: | 286 | # directories. It must be an array with 3 * N elements. Each triplet consists of: |
| @@ -287,8 +292,8 @@ | |||
| 287 | # | 292 | # |
| 288 | # Triplets are tried in order. The first triplet whose pattern matches $PWD wins. | 293 | # Triplets are tried in order. The first triplet whose pattern matches $PWD wins. |
| 289 | # | 294 | # |
| 290 | # If POWERLEVEL9K_DIR_SHOW_WRITABLE is set to v2 and the current directory is not writable, | 295 | # If POWERLEVEL9K_DIR_SHOW_WRITABLE is set to v3, non-writable and non-existent directories |
| 291 | # its class gets suffix _NOT_WRITABLE. | 296 | # acquire class suffix _NOT_WRITABLE and NON_EXISTENT respectively. |
| 292 | # | 297 | # |
| 293 | # For example, given these settings: | 298 | # For example, given these settings: |
| 294 | # | 299 | # |
| @@ -297,10 +302,11 @@ | |||
| 297 | # '~(|/*)' HOME '' | 302 | # '~(|/*)' HOME '' |
| 298 | # '*' DEFAULT '') | 303 | # '*' DEFAULT '') |
| 299 | # | 304 | # |
| 300 | # Whenever the current directory is ~/work or a subdirectory of ~/work, it gets styled with class | 305 | # Whenever the current directory is ~/work or a subdirectory of ~/work, it gets styled with one |
| 301 | # WORK or WORK_NOT_WRITABLE. | 306 | # of the following classes depending on its writability and existence: WORK, WORK_NOT_WRITABLE or |
| 307 | # WORK_NON_EXISTENT. | ||
| 302 | # | 308 | # |
| 303 | # Simply assigning classes to directories don't have any visible effects. It merely gives you an | 309 | # Simply assigning classes to directories doesn't have any visible effects. It merely gives you an |
| 304 | # option to define custom colors and icons for different directory classes. | 310 | # option to define custom colors and icons for different directory classes. |
| 305 | # | 311 | # |
| 306 | # # Styling for WORK. | 312 | # # Styling for WORK. |
| @@ -315,18 +321,24 @@ | |||
| 315 | # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_SHORTENED_FOREGROUND=103 | 321 | # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_SHORTENED_FOREGROUND=103 |
| 316 | # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_ANCHOR_FOREGROUND=39 | 322 | # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_ANCHOR_FOREGROUND=39 |
| 317 | # | 323 | # |
| 324 | # # Styling for WORK_NON_EXISTENT. | ||
| 325 | # typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_VISUAL_IDENTIFIER_EXPANSION='⭐' | ||
| 326 | # typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_FOREGROUND=31 | ||
| 327 | # typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_SHORTENED_FOREGROUND=103 | ||
| 328 | # typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_ANCHOR_FOREGROUND=39 | ||
| 329 | # | ||
| 318 | # If a styling parameter isn't explicitly defined for some class, it falls back to the classless | 330 | # If a styling parameter isn't explicitly defined for some class, it falls back to the classless |
| 319 | # parameter. For example, if POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_FOREGROUND is not set, it falls | 331 | # parameter. For example, if POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_FOREGROUND is not set, it falls |
| 320 | # back to POWERLEVEL9K_DIR_FOREGROUND. | 332 | # back to POWERLEVEL9K_DIR_FOREGROUND. |
| 321 | # | 333 | # |
| 322 | # typeset -g POWERLEVEL9K_DIR_CLASSES=() | 334 | typeset -g POWERLEVEL9K_DIR_CLASSES=() |
| 323 | 335 | ||
| 324 | # Custom prefix. | 336 | # Custom prefix. |
| 325 | # typeset -g POWERLEVEL9K_DIR_PREFIX='%fin ' | 337 | # typeset -g POWERLEVEL9K_DIR_PREFIX='%fin ' |
| 326 | 338 | ||
| 327 | #####################################[ vcs: git status ]###################################### | 339 | #####################################[ vcs: git status ]###################################### |
| 328 | # Branch icon. Set this parameter to '\uF126 ' for the popular Powerline branch icon. | 340 | # Branch icon. Set this parameter to '\uF126 ' for the popular Powerline branch icon. |
| 329 | typeset -g POWERLEVEL9K_VCS_BRANCH_ICON='\uF126 ' | 341 | typeset -g POWERLEVEL9K_VCS_BRANCH_ICON= |
| 330 | 342 | ||
| 331 | # Untracked files icon. It's really a question mark, your font isn't broken. | 343 | # Untracked files icon. It's really a question mark, your font isn't broken. |
| 332 | # Change the value of this parameter to show a different icon. | 344 | # Change the value of this parameter to show a different icon. |
| @@ -380,6 +392,7 @@ | |||
| 380 | # Otherwise show the first 12 … the last 12. | 392 | # Otherwise show the first 12 … the last 12. |
| 381 | # Tip: To always show local branch name in full without truncation, delete the next line. | 393 | # Tip: To always show local branch name in full without truncation, delete the next line. |
| 382 | (( $#where > 32 )) && where[13,-13]="…" | 394 | (( $#where > 32 )) && where[13,-13]="…" |
| 395 | |||
| 383 | res+="${clean}${where//\%/%%}" # escape % | 396 | res+="${clean}${where//\%/%%}" # escape % |
| 384 | 397 | ||
| 385 | # Display the current Git commit if there is no branch or tag. | 398 | # Display the current Git commit if there is no branch or tag. |
| @@ -452,7 +465,7 @@ | |||
| 452 | typeset -g POWERLEVEL9K_VCS_VISUAL_IDENTIFIER_COLOR=76 | 465 | typeset -g POWERLEVEL9K_VCS_VISUAL_IDENTIFIER_COLOR=76 |
| 453 | typeset -g POWERLEVEL9K_VCS_LOADING_VISUAL_IDENTIFIER_COLOR=244 | 466 | typeset -g POWERLEVEL9K_VCS_LOADING_VISUAL_IDENTIFIER_COLOR=244 |
| 454 | # Custom icon. | 467 | # Custom icon. |
| 455 | # typeset -g POWERLEVEL9K_VCS_VISUAL_IDENTIFIER_EXPANSION='⭐' | 468 | typeset -g POWERLEVEL9K_VCS_VISUAL_IDENTIFIER_EXPANSION= |
| 456 | # Custom prefix. | 469 | # Custom prefix. |
| 457 | # typeset -g POWERLEVEL9K_VCS_PREFIX='%fon ' | 470 | # typeset -g POWERLEVEL9K_VCS_PREFIX='%fon ' |
| 458 | 471 | ||
| @@ -504,7 +517,7 @@ | |||
| 504 | typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_VISUAL_IDENTIFIER_EXPANSION='✘' | 517 | typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_VISUAL_IDENTIFIER_EXPANSION='✘' |
| 505 | 518 | ||
| 506 | ###################[ command_execution_time: duration of the last command ]################### | 519 | ###################[ command_execution_time: duration of the last command ]################### |
| 507 | # Show duration of the last command if takes longer than this many seconds. | 520 | # Show duration of the last command if takes at least this many seconds. |
| 508 | typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_THRESHOLD=3 | 521 | typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_THRESHOLD=3 |
| 509 | # Show this many fractional digits. Zero means round to seconds. | 522 | # Show this many fractional digits. Zero means round to seconds. |
| 510 | typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PRECISION=0 | 523 | typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PRECISION=0 |
| @@ -513,7 +526,7 @@ | |||
| 513 | # Duration format: 1d 2h 3m 4s. | 526 | # Duration format: 1d 2h 3m 4s. |
| 514 | typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FORMAT='d h m s' | 527 | typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FORMAT='d h m s' |
| 515 | # Custom icon. | 528 | # Custom icon. |
| 516 | # typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_VISUAL_IDENTIFIER_EXPANSION='⭐' | 529 | typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_VISUAL_IDENTIFIER_EXPANSION= |
| 517 | # Custom prefix. | 530 | # Custom prefix. |
| 518 | # typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PREFIX='%ftook ' | 531 | # typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PREFIX='%ftook ' |
| 519 | 532 | ||
| @@ -523,7 +536,7 @@ | |||
| 523 | # Background jobs color. | 536 | # Background jobs color. |
| 524 | typeset -g POWERLEVEL9K_BACKGROUND_JOBS_FOREGROUND=70 | 537 | typeset -g POWERLEVEL9K_BACKGROUND_JOBS_FOREGROUND=70 |
| 525 | # Custom icon. | 538 | # Custom icon. |
| 526 | # typeset -g POWERLEVEL9K_BACKGROUND_JOBS_VISUAL_IDENTIFIER_EXPANSION='' | 539 | typeset -g POWERLEVEL9K_BACKGROUND_JOBS_VISUAL_IDENTIFIER_EXPANSION='' |
| 527 | 540 | ||
| 528 | #######################[ direnv: direnv status (https://direnv.net/) ]######################## | 541 | #######################[ direnv: direnv status (https://direnv.net/) ]######################## |
| 529 | # Direnv color. | 542 | # Direnv color. |
| @@ -579,7 +592,7 @@ | |||
| 579 | typeset -g POWERLEVEL9K_ASDF_SHOW_SYSTEM=true | 592 | typeset -g POWERLEVEL9K_ASDF_SHOW_SYSTEM=true |
| 580 | 593 | ||
| 581 | # If set to non-empty value, hide tools unless there is a file matching the specified file pattern | 594 | # If set to non-empty value, hide tools unless there is a file matching the specified file pattern |
| 582 | # in the current directory, or its parent diretory, or its grandparent directory, and so on. | 595 | # in the current directory, or its parent directory, or its grandparent directory, and so on. |
| 583 | # | 596 | # |
| 584 | # Note: If this parameter is set to empty value, it won't hide tools. | 597 | # Note: If this parameter is set to empty value, it won't hide tools. |
| 585 | # Note: SHOW_ON_UPGLOB isn't specific to asdf. It works with all prompt segments. | 598 | # Note: SHOW_ON_UPGLOB isn't specific to asdf. It works with all prompt segments. |
| @@ -678,13 +691,13 @@ | |||
| 678 | typeset -g POWERLEVEL9K_NORDVPN_{DISCONNECTED,CONNECTING,DISCONNECTING}_CONTENT_EXPANSION= | 691 | typeset -g POWERLEVEL9K_NORDVPN_{DISCONNECTED,CONNECTING,DISCONNECTING}_CONTENT_EXPANSION= |
| 679 | typeset -g POWERLEVEL9K_NORDVPN_{DISCONNECTED,CONNECTING,DISCONNECTING}_VISUAL_IDENTIFIER_EXPANSION= | 692 | typeset -g POWERLEVEL9K_NORDVPN_{DISCONNECTED,CONNECTING,DISCONNECTING}_VISUAL_IDENTIFIER_EXPANSION= |
| 680 | # Custom icon. | 693 | # Custom icon. |
| 681 | # typeset -g POWERLEVEL9K_NORDVPN_VISUAL_IDENTIFIER_EXPANSION='⭐' | 694 | typeset -g POWERLEVEL9K_NORDVPN_VISUAL_IDENTIFIER_EXPANSION='nord' |
| 682 | 695 | ||
| 683 | #################[ ranger: ranger shell (https://github.com/ranger/ranger) ]################## | 696 | #################[ ranger: ranger shell (https://github.com/ranger/ranger) ]################## |
| 684 | # Ranger shell color. | 697 | # Ranger shell color. |
| 685 | typeset -g POWERLEVEL9K_RANGER_FOREGROUND=178 | 698 | typeset -g POWERLEVEL9K_RANGER_FOREGROUND=178 |
| 686 | # Custom icon. | 699 | # Custom icon. |
| 687 | # typeset -g POWERLEVEL9K_RANGER_VISUAL_IDENTIFIER_EXPANSION='' | 700 | typeset -g POWERLEVEL9K_RANGER_VISUAL_IDENTIFIER_EXPANSION='' |
| 688 | 701 | ||
| 689 | ######################[ nnn: nnn shell (https://github.com/jarun/nnn) ]####################### | 702 | ######################[ nnn: nnn shell (https://github.com/jarun/nnn) ]####################### |
| 690 | # Nnn shell color. | 703 | # Nnn shell color. |
| @@ -836,7 +849,8 @@ | |||
| 836 | typeset -g POWERLEVEL9K_VIRTUALENV_FOREGROUND=37 | 849 | typeset -g POWERLEVEL9K_VIRTUALENV_FOREGROUND=37 |
| 837 | # Don't show Python version next to the virtual environment name. | 850 | # Don't show Python version next to the virtual environment name. |
| 838 | typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_PYTHON_VERSION=false | 851 | typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_PYTHON_VERSION=false |
| 839 | # Don't show virtualenv if pyenv is already shown. | 852 | # If set to "false", won't show virtualenv if pyenv is already shown. |
| 853 | # If set to "if-different", won't show virtualenv if it's the same as pyenv. | ||
| 840 | typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_WITH_PYENV=false | 854 | typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_WITH_PYENV=false |
| 841 | # Separate environment name from Python version only with a space. | 855 | # Separate environment name from Python version only with a space. |
| 842 | typeset -g POWERLEVEL9K_VIRTUALENV_{LEFT,RIGHT}_DELIMITER= | 856 | typeset -g POWERLEVEL9K_VIRTUALENV_{LEFT,RIGHT}_DELIMITER= |
| @@ -1093,6 +1107,19 @@ | |||
| 1093 | # Custom icon. | 1107 | # Custom icon. |
| 1094 | # typeset -g POWERLEVEL9K_PHPENV_VISUAL_IDENTIFIER_EXPANSION='⭐' | 1108 | # typeset -g POWERLEVEL9K_PHPENV_VISUAL_IDENTIFIER_EXPANSION='⭐' |
| 1095 | 1109 | ||
| 1110 | #######[ scalaenv: scala version from scalaenv (https://github.com/scalaenv/scalaenv) ]####### | ||
| 1111 | # Scala color. | ||
| 1112 | typeset -g POWERLEVEL9K_SCALAENV_FOREGROUND=160 | ||
| 1113 | # Hide scala version if it doesn't come from one of these sources. | ||
| 1114 | typeset -g POWERLEVEL9K_SCALAENV_SOURCES=(shell local global) | ||
| 1115 | # If set to false, hide scala version if it's the same as global: | ||
| 1116 | # $(scalaenv version-name) == $(scalaenv global). | ||
| 1117 | typeset -g POWERLEVEL9K_SCALAENV_PROMPT_ALWAYS_SHOW=false | ||
| 1118 | # If set to false, hide scala version if it's equal to "system". | ||
| 1119 | typeset -g POWERLEVEL9K_SCALAENV_SHOW_SYSTEM=true | ||
| 1120 | # Custom icon. | ||
| 1121 | # typeset -g POWERLEVEL9K_SCALAENV_VISUAL_IDENTIFIER_EXPANSION='⭐' | ||
| 1122 | |||
| 1096 | ##########[ haskell_stack: haskell version from stack (https://haskellstack.org/) ]########### | 1123 | ##########[ haskell_stack: haskell version from stack (https://haskellstack.org/) ]########### |
| 1097 | # Haskell color. | 1124 | # Haskell color. |
| 1098 | typeset -g POWERLEVEL9K_HASKELL_STACK_FOREGROUND=172 | 1125 | typeset -g POWERLEVEL9K_HASKELL_STACK_FOREGROUND=172 |
| @@ -1110,7 +1137,7 @@ | |||
| 1110 | #############[ kubecontext: current kubernetes context (https://kubernetes.io/) ]############# | 1137 | #############[ kubecontext: current kubernetes context (https://kubernetes.io/) ]############# |
| 1111 | # Show kubecontext only when the the command you are typing invokes one of these tools. | 1138 | # Show kubecontext only when the the command you are typing invokes one of these tools. |
| 1112 | # Tip: Remove the next line to always show kubecontext. | 1139 | # Tip: Remove the next line to always show kubecontext. |
| 1113 | typeset -g POWERLEVEL9K_KUBECONTEXT_SHOW_ON_COMMAND='kubectl|helm|kubens|kubectx|oc|istioctl|kogito' | 1140 | typeset -g POWERLEVEL9K_KUBECONTEXT_SHOW_ON_COMMAND='kubectl|helm|kubens|kubectx|oc|istioctl|kogito|k9s|helmfile' |
| 1114 | 1141 | ||
| 1115 | # Kubernetes context classes for the purpose of using different colors, icons and expansions with | 1142 | # Kubernetes context classes for the purpose of using different colors, icons and expansions with |
| 1116 | # different contexts. | 1143 | # different contexts. |
| @@ -1143,7 +1170,7 @@ | |||
| 1143 | # '*test*' TEST # to match your needs. Customize them as needed. | 1170 | # '*test*' TEST # to match your needs. Customize them as needed. |
| 1144 | '*' DEFAULT) | 1171 | '*' DEFAULT) |
| 1145 | typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_FOREGROUND=134 | 1172 | typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_FOREGROUND=134 |
| 1146 | # typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='' | 1173 | typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='' |
| 1147 | 1174 | ||
| 1148 | # Use POWERLEVEL9K_KUBECONTEXT_CONTENT_EXPANSION to specify the content displayed by kubecontext | 1175 | # Use POWERLEVEL9K_KUBECONTEXT_CONTENT_EXPANSION to specify the content displayed by kubecontext |
| 1149 | # segment. Parameter expansions are very flexible and fast, too. See reference: | 1176 | # segment. Parameter expansions are very flexible and fast, too. See reference: |
| @@ -1230,7 +1257,7 @@ | |||
| 1230 | #[ aws: aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) ]# | 1257 | #[ aws: aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) ]# |
| 1231 | # Show aws only when the the command you are typing invokes one of these tools. | 1258 | # Show aws only when the the command you are typing invokes one of these tools. |
| 1232 | # Tip: Remove the next line to always show aws. | 1259 | # Tip: Remove the next line to always show aws. |
| 1233 | typeset -g POWERLEVEL9K_AWS_SHOW_ON_COMMAND='aws|awless|terraform|pulumi' | 1260 | typeset -g POWERLEVEL9K_AWS_SHOW_ON_COMMAND='aws|awless|terraform|pulumi|terragrunt' |
| 1234 | 1261 | ||
| 1235 | # POWERLEVEL9K_AWS_CLASSES is an array with even number of elements. The first element | 1262 | # POWERLEVEL9K_AWS_CLASSES is an array with even number of elements. The first element |
| 1236 | # in each pair defines a pattern against which the current AWS profile gets matched. | 1263 | # in each pair defines a pattern against which the current AWS profile gets matched. |
| @@ -1266,16 +1293,16 @@ | |||
| 1266 | # AWS Elastic Beanstalk environment color. | 1293 | # AWS Elastic Beanstalk environment color. |
| 1267 | typeset -g POWERLEVEL9K_AWS_EB_ENV_FOREGROUND=70 | 1294 | typeset -g POWERLEVEL9K_AWS_EB_ENV_FOREGROUND=70 |
| 1268 | # Custom icon. | 1295 | # Custom icon. |
| 1269 | # typeset -g POWERLEVEL9K_AWS_EB_ENV_VISUAL_IDENTIFIER_EXPANSION='⭐' | 1296 | typeset -g POWERLEVEL9K_AWS_EB_ENV_VISUAL_IDENTIFIER_EXPANSION='eb' |
| 1270 | 1297 | ||
| 1271 | ##########[ azure: azure account name (https://docs.microsoft.com/en-us/cli/azure) ]########## | 1298 | ##########[ azure: azure account name (https://docs.microsoft.com/en-us/cli/azure) ]########## |
| 1272 | # Show azure only when the the command you are typing invokes one of these tools. | 1299 | # Show azure only when the the command you are typing invokes one of these tools. |
| 1273 | # Tip: Remove the next line to always show azure. | 1300 | # Tip: Remove the next line to always show azure. |
| 1274 | typeset -g POWERLEVEL9K_AZURE_SHOW_ON_COMMAND='az|terraform|pulumi' | 1301 | typeset -g POWERLEVEL9K_AZURE_SHOW_ON_COMMAND='az|terraform|pulumi|terragrunt' |
| 1275 | # Azure account name color. | 1302 | # Azure account name color. |
| 1276 | typeset -g POWERLEVEL9K_AZURE_FOREGROUND=32 | 1303 | typeset -g POWERLEVEL9K_AZURE_FOREGROUND=32 |
| 1277 | # Custom icon. | 1304 | # Custom icon. |
| 1278 | # typeset -g POWERLEVEL9K_AZURE_VISUAL_IDENTIFIER_EXPANSION='⭐' | 1305 | typeset -g POWERLEVEL9K_AZURE_VISUAL_IDENTIFIER_EXPANSION='az' |
| 1279 | 1306 | ||
| 1280 | ##########[ gcloud: google cloud account and project (https://cloud.google.com/) ]########### | 1307 | ##########[ gcloud: google cloud account and project (https://cloud.google.com/) ]########### |
| 1281 | # Show gcloud only when the the command you are typing invokes one of these tools. | 1308 | # Show gcloud only when the the command you are typing invokes one of these tools. |
| @@ -1296,7 +1323,7 @@ | |||
| 1296 | # P9K_GCLOUD_PROJECT_ID | gcloud config get-value project | 1323 | # P9K_GCLOUD_PROJECT_ID | gcloud config get-value project |
| 1297 | # P9K_GCLOUD_PROJECT_NAME | gcloud projects describe $P9K_GCLOUD_PROJECT_ID --format='value(name)' | 1324 | # P9K_GCLOUD_PROJECT_NAME | gcloud projects describe $P9K_GCLOUD_PROJECT_ID --format='value(name)' |
| 1298 | # | 1325 | # |
| 1299 | # Note: ${VARIABLE//\%/%%} expands to ${VARIABLE} with all occurences of '%' replaced with '%%'. | 1326 | # Note: ${VARIABLE//\%/%%} expands to ${VARIABLE} with all occurrences of '%' replaced with '%%'. |
| 1300 | # | 1327 | # |
| 1301 | # Obtaining project name requires sending a request to Google servers. This can take a long time | 1328 | # Obtaining project name requires sending a request to Google servers. This can take a long time |
| 1302 | # and even fail. When project name is unknown, P9K_GCLOUD_PROJECT_NAME is not set and gcloud | 1329 | # and even fail. When project name is unknown, P9K_GCLOUD_PROJECT_NAME is not set and gcloud |
| @@ -1321,7 +1348,7 @@ | |||
| 1321 | #[ google_app_cred: google application credentials (https://cloud.google.com/docs/authentication/production) ]# | 1348 | #[ google_app_cred: google application credentials (https://cloud.google.com/docs/authentication/production) ]# |
| 1322 | # Show google_app_cred only when the the command you are typing invokes one of these tools. | 1349 | # Show google_app_cred only when the the command you are typing invokes one of these tools. |
| 1323 | # Tip: Remove the next line to always show google_app_cred. | 1350 | # Tip: Remove the next line to always show google_app_cred. |
| 1324 | typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_SHOW_ON_COMMAND='terraform|pulumi' | 1351 | typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_SHOW_ON_COMMAND='terraform|pulumi|terragrunt' |
| 1325 | 1352 | ||
| 1326 | # Google application credentials classes for the purpose of using different colors, icons and | 1353 | # Google application credentials classes for the purpose of using different colors, icons and |
| 1327 | # expansions with different credentials. | 1354 | # expansions with different credentials. |
| @@ -1369,7 +1396,7 @@ | |||
| 1369 | # P9K_GOOGLE_APP_CRED_PROJECT_ID | project_id | 1396 | # P9K_GOOGLE_APP_CRED_PROJECT_ID | project_id |
| 1370 | # P9K_GOOGLE_APP_CRED_CLIENT_EMAIL | client_email | 1397 | # P9K_GOOGLE_APP_CRED_CLIENT_EMAIL | client_email |
| 1371 | # | 1398 | # |
| 1372 | # Note: ${VARIABLE//\%/%%} expands to ${VARIABLE} with all occurences of '%' replaced by '%%'. | 1399 | # Note: ${VARIABLE//\%/%%} expands to ${VARIABLE} with all occurrences of '%' replaced by '%%'. |
| 1373 | typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_CONTENT_EXPANSION='${P9K_GOOGLE_APP_CRED_PROJECT_ID//\%/%%}' | 1400 | typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_CONTENT_EXPANSION='${P9K_GOOGLE_APP_CRED_PROJECT_ID//\%/%%}' |
| 1374 | 1401 | ||
| 1375 | ###############################[ public_ip: public IP address ]############################### | 1402 | ###############################[ public_ip: public IP address ]############################### |
| @@ -1386,7 +1413,7 @@ | |||
| 1386 | typeset -g POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION= | 1413 | typeset -g POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION= |
| 1387 | # Regular expression for the VPN network interface. Run `ifconfig` or `ip -4 a show` while on VPN | 1414 | # Regular expression for the VPN network interface. Run `ifconfig` or `ip -4 a show` while on VPN |
| 1388 | # to see the name of the interface. | 1415 | # to see the name of the interface. |
| 1389 | typeset -g POWERLEVEL9K_VPN_IP_INTERFACE='(wg|(.*tun))[0-9]*' | 1416 | typeset -g POWERLEVEL9K_VPN_IP_INTERFACE='(gpd|wg|(.*tun))[0-9]*' |
| 1390 | # If set to true, show one segment per matching network interface. If set to false, show only | 1417 | # If set to true, show one segment per matching network interface. If set to false, show only |
| 1391 | # one segment corresponding to the first matching network interface. | 1418 | # one segment corresponding to the first matching network interface. |
| 1392 | # Tip: If you set it to true, you'll probably want to unset POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION. | 1419 | # Tip: If you set it to true, you'll probably want to unset POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION. |
| @@ -1429,7 +1456,7 @@ | |||
| 1429 | # Show battery in yellow when it's discharging. | 1456 | # Show battery in yellow when it's discharging. |
| 1430 | typeset -g POWERLEVEL9K_BATTERY_DISCONNECTED_FOREGROUND=178 | 1457 | typeset -g POWERLEVEL9K_BATTERY_DISCONNECTED_FOREGROUND=178 |
| 1431 | # Battery pictograms going from low to high level of charge. | 1458 | # Battery pictograms going from low to high level of charge. |
| 1432 | typeset -g POWERLEVEL9K_BATTERY_STAGES='\uf58d\uf579\uf57a\uf57b\uf57c\uf57d\uf57e\uf57f\uf580\uf581\uf578' | 1459 | typeset -g POWERLEVEL9K_BATTERY_STAGES=('%K{232}▁' '%K{232}▂' '%K{232}▃' '%K{232}▄' '%K{232}▅' '%K{232}▆' '%K{232}▇' '%K{232}█') |
| 1433 | # Don't show the remaining time to charge/discharge. | 1460 | # Don't show the remaining time to charge/discharge. |
| 1434 | typeset -g POWERLEVEL9K_BATTERY_VERBOSE=false | 1461 | typeset -g POWERLEVEL9K_BATTERY_VERBOSE=false |
| 1435 | 1462 | ||
| @@ -1453,15 +1480,11 @@ | |||
| 1453 | # Parameter | Meaning | 1480 | # Parameter | Meaning |
| 1454 | # ----------------------+--------------- | 1481 | # ----------------------+--------------- |
| 1455 | # P9K_WIFI_SSID | service set identifier, a.k.a. network name | 1482 | # P9K_WIFI_SSID | service set identifier, a.k.a. network name |
| 1456 | # P9K_WIFI_LINK_AUTH | authentication protocol such as "wpa2-psk" or "none" | 1483 | # P9K_WIFI_LINK_AUTH | authentication protocol such as "wpa2-psk" or "none"; empty if unknown |
| 1457 | # P9K_WIFI_LAST_TX_RATE | wireless transmit rate in megabits per second | 1484 | # P9K_WIFI_LAST_TX_RATE | wireless transmit rate in megabits per second |
| 1458 | # P9K_WIFI_RSSI | signal strength in dBm, from -120 to 0 | 1485 | # P9K_WIFI_RSSI | signal strength in dBm, from -120 to 0 |
| 1459 | # P9K_WIFI_NOISE | noise in dBm, from -120 to 0 | 1486 | # P9K_WIFI_NOISE | noise in dBm, from -120 to 0 |
| 1460 | # P9K_WIFI_BARS | signal strength in bars, from 0 to 4 (derived from P9K_WIFI_RSSI and P9K_WIFI_NOISE) | 1487 | # P9K_WIFI_BARS | signal strength in bars, from 0 to 4 (derived from P9K_WIFI_RSSI and P9K_WIFI_NOISE) |
| 1461 | # | ||
| 1462 | # All parameters except P9K_WIFI_BARS are extracted from the output of the following command: | ||
| 1463 | # | ||
| 1464 | # /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I | ||
| 1465 | 1488 | ||
| 1466 | ####################################[ time: current time ]#################################### | 1489 | ####################################[ time: current time ]#################################### |
| 1467 | # Current time color. | 1490 | # Current time color. |
| @@ -1473,7 +1496,7 @@ | |||
| 1473 | # behavior where they contain the end times of their preceding commands. | 1496 | # behavior where they contain the end times of their preceding commands. |
| 1474 | typeset -g POWERLEVEL9K_TIME_UPDATE_ON_COMMAND=false | 1497 | typeset -g POWERLEVEL9K_TIME_UPDATE_ON_COMMAND=false |
| 1475 | # Custom icon. | 1498 | # Custom icon. |
| 1476 | # typeset -g POWERLEVEL9K_TIME_VISUAL_IDENTIFIER_EXPANSION='⭐' | 1499 | typeset -g POWERLEVEL9K_TIME_VISUAL_IDENTIFIER_EXPANSION= |
| 1477 | # Custom prefix. | 1500 | # Custom prefix. |
| 1478 | # typeset -g POWERLEVEL9K_TIME_PREFIX='%fat ' | 1501 | # typeset -g POWERLEVEL9K_TIME_PREFIX='%fat ' |
| 1479 | 1502 | ||
| @@ -1528,7 +1551,7 @@ | |||
| 1528 | # - verbose: Enable instant prompt and print a warning when detecting console output during | 1551 | # - verbose: Enable instant prompt and print a warning when detecting console output during |
| 1529 | # zsh initialization. Choose this if you've never tried instant prompt, haven't | 1552 | # zsh initialization. Choose this if you've never tried instant prompt, haven't |
| 1530 | # seen the warning, or if you are unsure what this all means. | 1553 | # seen the warning, or if you are unsure what this all means. |
| 1531 | typeset -g POWERLEVEL9K_INSTANT_PROMPT=off | 1554 | typeset -g POWERLEVEL9K_INSTANT_PROMPT=quiet |
| 1532 | 1555 | ||
| 1533 | # Hot reload allows you to change POWERLEVEL9K options after Powerlevel10k has been initialized. | 1556 | # Hot reload allows you to change POWERLEVEL9K options after Powerlevel10k has been initialized. |
| 1534 | # For example, you can type POWERLEVEL9K_BACKGROUND=red and see your prompt turn red. Hot reload | 1557 | # For example, you can type POWERLEVEL9K_BACKGROUND=red and see your prompt turn red. Hot reload |
diff --git a/users/root.nix b/users/root.nix index c6e7d712..24a5ae94 100644 --- a/users/root.nix +++ b/users/root.nix | |||
| @@ -12,8 +12,30 @@ in { | |||
| 12 | }; | 12 | }; |
| 13 | 13 | ||
| 14 | home-manager.users.${userName} = { | 14 | home-manager.users.${userName} = { |
| 15 | programs = lib.mkIf haveGKleen { | 15 | programs = { |
| 16 | inherit (config.home-manager.users.gkleen.programs) git ssh gpg; | 16 | git = { |
| 17 | enable = true; | ||
| 18 | userEmail = "gkleen@yggdrasil.li"; | ||
| 19 | userName = "Gregor Kleen"; | ||
| 20 | delta.enable = true; | ||
| 21 | extraConfig = { | ||
| 22 | pull.rebase = false; | ||
| 23 | }; | ||
| 24 | }; | ||
| 25 | |||
| 26 | ssh = { | ||
| 27 | enable = true; | ||
| 28 | controlMaster = "auto"; | ||
| 29 | controlPersist = "30m"; | ||
| 30 | serverAliveInterval = 6; | ||
| 31 | hashKnownHosts = true; | ||
| 32 | extraConfig = '' | ||
| 33 | IdentitiesOnly true | ||
| 34 | ServerAliveCountMax 10 | ||
| 35 | ''; | ||
| 36 | }; | ||
| 37 | |||
| 38 | gpg.enable = true; | ||
| 17 | }; | 39 | }; |
| 18 | 40 | ||
| 19 | services = { | 41 | services = { |
