Only export env variables in zprofile if unset

As per [zsh documentation](https://zsh.sourceforge.io/Intro/intro_3.html) environment variables should be expected to be in `.zshenv` and not be overridden in `.zprofile`. This change modifies BROWSER (on darwin systems only), EDITOR, VISUAL, PAGER, LESS, and LESSOPEN to only use zprezto defaults if they were not previously set in the loading order.

See:
https://github.com/nix-community/home-manager/issues/2739
https://github.com/nix-community/home-manager/issues/2751
main
Aaron Kanter 3 years ago committed by Indrajit Raychaudhuri
parent 7ec1ecde3a
commit 15150085e6

@ -9,7 +9,7 @@
# Browser # Browser
# #
if [[ "$OSTYPE" == darwin* ]]; then if [[ -z "$BROWSER" && "$OSTYPE" == darwin* ]]; then
export BROWSER='open' export BROWSER='open'
fi fi
@ -17,9 +17,15 @@ fi
# Editors # Editors
# #
export EDITOR='nano' if [[ -z "$EDITOR" ]]; then
export VISUAL='nano' export EDITOR='nano'
export PAGER='less' fi
if [[ -z "$VISUAL" ]]; then
export VISUAL='nano'
fi
if [[ -z "$PAGER" ]]; then
export PAGER='less'
fi
# #
# Language # Language
@ -54,10 +60,12 @@ path=(
# Set the default Less options. # Set the default Less options.
# Mouse-wheel scrolling has been disabled by -X (disable screen clearing). # Mouse-wheel scrolling has been disabled by -X (disable screen clearing).
# Remove -X to enable it. # Remove -X to enable it.
export LESS='-g -i -M -R -S -w -X -z-4' if [[ -z "$LESS" ]]; then
export LESS='-g -i -M -R -S -w -X -z-4'
fi
# Set the Less input preprocessor. # Set the Less input preprocessor.
# Try both `lesspipe` and `lesspipe.sh` as either might exist on a system. # Try both `lesspipe` and `lesspipe.sh` as either might exist on a system.
if (( $#commands[(i)lesspipe(|.sh)] )); then if [[ -z "$LESSOPEN" && (( $#commands[(i)lesspipe(|.sh)] )) ]]; then
export LESSOPEN="| /usr/bin/env $commands[(i)lesspipe(|.sh)] %s 2>&-" export LESSOPEN="| /usr/bin/env $commands[(i)lesspipe(|.sh)] %s 2>&-"
fi fi

Loading…
Cancel
Save