summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGregor Kleen <gkleen@yggdrasil.li>2021-01-03 15:24:44 +0100
committerGregor Kleen <gkleen@yggdrasil.li>2021-01-03 16:21:35 +0100
commit6771b74180157e408edba8071cdcc5f49e8f32b2 (patch)
tree430f069cb0e70d4a3754738389a942ee5744ea62
parentb34c74bf38ff1bf073773f03705912e3becc9ef5 (diff)
downloadnixos-6771b74180157e408edba8071cdcc5f49e8f32b2.tar
nixos-6771b74180157e408edba8071cdcc5f49e8f32b2.tar.gz
nixos-6771b74180157e408edba8071cdcc5f49e8f32b2.tar.bz2
nixos-6771b74180157e408edba8071cdcc5f49e8f32b2.tar.xz
nixos-6771b74180157e408edba8071cdcc5f49e8f32b2.zip
home-manager tweaks
-rw-r--r--accounts/gkleen@sif/default.nix2
-rw-r--r--accounts/root@sif.nix18
-rw-r--r--hosts/sif/default.nix1
-rw-r--r--user-profiles/zsh/p10k.zsh121
-rw-r--r--users/root.nix26
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 = {