# AX-ZSH: Alex' Modular ZSH Configuration
-# Copyright (c) 2015-2020 Alexander Barton <alex@barton.de>
+# Copyright (c) 2015-2022 Alexander Barton <alex@barton.de>
script_name="${${(%):-%N}:t}"
script_type="$script_name[2,-1]"
&& echo " (Writing new cache file to \"$new_cache_file\" ...)"
if ! printf "# %s\n\n" "$(LC_ALL=C date)" >"$new_cache_file"; then
unset new_cache_file
+ else
+ # New cache file successfully created ...
+ if [[ "$type" = "ax-io" ]]; then
+ # AX-IO Stage:
+ # Write an initial PATH variable to the cache
+ # file, which becomes overwritten by the path
+ # plugin at the "zprofile" stage later on, but
+ # this way "ax-io" stage plugins have a somewhat
+ # saner PATH to begin with ...
+ printf 'export PATH="%s"\n\n' "$PATH" >>"$new_cache_file"
+ fi
fi
# Read in all the plugins for the current "type":
[[ -n "$SHELL" ]] || export SHELL=$(command -v zsh)
# Make sure that "AXZSH" variable is set and exported
-[[ -n "$AXZSH" ]] || export AXZSH="$HOME/.axzsh"
+[[ -n "$AXZSH" ]] || export AXZSH="${ZDOTDIR:-$HOME}/.axzsh"
# Check for "debug mode" ...
if [[ -f "$AXZSH/debug" || -f "$HOME/.axzsh.debug" ]]; then