[[ -n "$SHELL" ]] || export SHELL=$(command -v zsh)
# Make sure that "AXZSH" variable is set and exported
-if [[ -z "$AXZSH" ]]; then
- export AXZSH="$HOME/.axzsh"
- if [[ -f "$HOME/.axzsh.debug" ]]; then
- export AXZSH_DEBUG=1
- echo "AXZSH=$AXZSH"
- echo "AXZSH_DEBUG=$AXZSH_DEBUG"
- echo "AXZSH_PLUGIN_D=$AXZSH_PLUGIN_D"
- fi
+[[ -n "$AXZSH" ]] || export AXZSH="$HOME/.axzsh"
+
+# Check for "debug mode" ...
+if [[ -f "$AXZSH/debug" || -f "$HOME/.axzsh.debug" ]]; then
+ export AXZSH_DEBUG=1
+ echo "AXZSH=$AXZSH"
+ echo "AXZSH_DEBUG=$AXZSH_DEBUG"
+ echo "AXZSH_PLUGIN_D=$AXZSH_PLUGIN_D"
+ echo "AXZSH_ZLOGIN_READ=$AXZSH_ZLOGIN_READ"
+ echo "AXZSH_ZPROFILE_READ=$AXZSH_ZPROFILE_READ"
fi
if [[ "$script_type" = "zprofile" ]]; then
axzsh_handle_stage "$script_name" "ax-io"
fi
+# Look for some 3rd-party integrations ...
+
+# --- Powerlevel10k ---
+# Read in Powerlevel10k configuration file, if not already read:
+[[ -z "$POWERLEVEL9K_CONFIG_FILE" && -r ~/.p10k.zsh ]] && source ~/.p10k.zsh
+# Enable instant prompt. Should stay close to the top of ~/.zshrc.
+# Initialization code that may require console input (password prompts,
+# [y/n] confirmations, etc.) must be executed before this, so all ax-zsh
+# plugings should do output in their "zprofile" stage!
+if [[ "$script_type" == "zprofile" ]]; then
+ p10k_instant_prompt="${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
+ [[ -r "$p10k_instant_prompt" ]] && source "$p10k_instant_prompt"
+fi
+
axzsh_handle_stage "$script_name" "$script_type"
# Clean up ...
unfunction axzsh_handle_stage axzsh_load_plugin
unset script_name script_type
+
+# Hints for external installers:
+# - iTerm2: DON'T install "iterm2_shell_integration"!