summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoman Perepelitsa <roman.perepelitsa@gmail.com>2023-04-12 12:07:32 +0300
committerRoman Perepelitsa <roman.perepelitsa@gmail.com>2023-04-12 12:07:32 +0300
commitbab655fb1f457de5ae5ad9f3c425a2e5186aa6b8 (patch)
tree56bae27879797a4cb42313163754f3d001b4c0ec
parentfb1287fedbb877201572d164ba0bad5c9d375b4f (diff)
do not infer nix_shell from PATH unless POWERLEVEL9K_NIX_SHELL_INFER_FROM_PATH is set to true (#2246)
-rw-r--r--config/p10k-classic.zsh3
-rw-r--r--config/p10k-lean-8colors.zsh3
-rw-r--r--config/p10k-lean.zsh3
-rw-r--r--config/p10k-rainbow.zsh3
-rw-r--r--internal/p10k.zsh12
5 files changed, 20 insertions, 4 deletions
diff --git a/config/p10k-classic.zsh b/config/p10k-classic.zsh
index aead8089..441be2ce 100644
--- a/config/p10k-classic.zsh
+++ b/config/p10k-classic.zsh
@@ -752,6 +752,9 @@
# Nix shell color.
typeset -g POWERLEVEL9K_NIX_SHELL_FOREGROUND=74
+ # Display the icon of nix_shell if PATH contains a subdirectory of /nix/store.
+ # typeset -g POWERLEVEL9K_NIX_SHELL_INFER_FROM_PATH=false
+
# Tip: If you want to see just the icon without "pure" and "impure", uncomment the next line.
# typeset -g POWERLEVEL9K_NIX_SHELL_CONTENT_EXPANSION=
diff --git a/config/p10k-lean-8colors.zsh b/config/p10k-lean-8colors.zsh
index c40b3efa..50e42617 100644
--- a/config/p10k-lean-8colors.zsh
+++ b/config/p10k-lean-8colors.zsh
@@ -750,6 +750,9 @@
# Nix shell color.
typeset -g POWERLEVEL9K_NIX_SHELL_FOREGROUND=4
+ # Display the icon of nix_shell if PATH contains a subdirectory of /nix/store.
+ # typeset -g POWERLEVEL9K_NIX_SHELL_INFER_FROM_PATH=false
+
# Tip: If you want to see just the icon without "pure" and "impure", uncomment the next line.
# typeset -g POWERLEVEL9K_NIX_SHELL_CONTENT_EXPANSION=
diff --git a/config/p10k-lean.zsh b/config/p10k-lean.zsh
index 3009d464..b938ce69 100644
--- a/config/p10k-lean.zsh
+++ b/config/p10k-lean.zsh
@@ -746,6 +746,9 @@
# Nix shell color.
typeset -g POWERLEVEL9K_NIX_SHELL_FOREGROUND=74
+ # Display the icon of nix_shell if PATH contains a subdirectory of /nix/store.
+ # typeset -g POWERLEVEL9K_NIX_SHELL_INFER_FROM_PATH=false
+
# Tip: If you want to see just the icon without "pure" and "impure", uncomment the next line.
# typeset -g POWERLEVEL9K_NIX_SHELL_CONTENT_EXPANSION=
diff --git a/config/p10k-rainbow.zsh b/config/p10k-rainbow.zsh
index 775b919e..e989b0a7 100644
--- a/config/p10k-rainbow.zsh
+++ b/config/p10k-rainbow.zsh
@@ -777,6 +777,9 @@
typeset -g POWERLEVEL9K_NIX_SHELL_FOREGROUND=0
typeset -g POWERLEVEL9K_NIX_SHELL_BACKGROUND=4
+ # Display the icon of nix_shell if PATH contains a subdirectory of /nix/store.
+ # typeset -g POWERLEVEL9K_NIX_SHELL_INFER_FROM_PATH=false
+
# Tip: If you want to see just the icon without "pure" and "impure", uncomment the next line.
# typeset -g POWERLEVEL9K_NIX_SHELL_CONTENT_EXPANSION=
diff --git a/internal/p10k.zsh b/internal/p10k.zsh
index d638cfc1..64a58591 100644
--- a/internal/p10k.zsh
+++ b/internal/p10k.zsh
@@ -4956,13 +4956,11 @@ function prompt_nix_shell() {
}
_p9k_prompt_nix_shell_init() {
- typeset -g "_p9k__segment_cond_${_p9k__prompt_side}[_p9k__segment_index]"='${IN_NIX_SHELL:#0}${${path[(I)/nix/store/*]}:#0}'
+ typeset -g "_p9k__segment_cond_${_p9k__prompt_side}[_p9k__segment_index]"=$_p9k_nix_shell_cond
}
function instant_prompt_nix_shell() {
- _p9k_prompt_segment prompt_nix_shell 4 $_p9k_color1 NIX_SHELL_ICON 1 \
- '${IN_NIX_SHELL:#0}${${path[(I)/nix/store/*]}:#0}' \
- '${(M)IN_NIX_SHELL:#(pure|impure)}'
+ _p9k_prompt_segment prompt_nix_shell 4 $_p9k_color1 NIX_SHELL_ICON 1 "$_p9k_nix_shell_cond" '${(M)IN_NIX_SHELL:#(pure|impure)}'
}
function prompt_terraform() {
@@ -7651,6 +7649,12 @@ _p9k_init_params() {
# If set to true, time will update every second.
_p9k_declare -b POWERLEVEL9K_EXPERIMENTAL_TIME_REALTIME 0
+ _p9k_declare -b POWERLEVEL9K_NIX_SHELL_INFER_FROM_PATH 0
+ typeset -g _p9k_nix_shell_cond='${IN_NIX_SHELL:#0}'
+ if (( _POWERLEVEL9K_NIX_SHELL_INFER_FROM_PATH )); then
+ _p9k_nix_shell_cond+='${path[(r)/nix/store/*]}'
+ fi
+
local -i i=1
while (( i <= $#_POWERLEVEL9K_LEFT_PROMPT_ELEMENTS )); do
local segment=${${(U)_POWERLEVEL9K_LEFT_PROMPT_ELEMENTS[i]}//İ/I}