You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							164 lines
						
					
					
						
							3.2 KiB
						
					
					
				
			
		
		
	
	
							164 lines
						
					
					
						
							3.2 KiB
						
					
					
				# vim: ft=zsh | 
						|
# | 
						|
# Executes commands in every top-level or login shell | 
						|
# | 
						|
# ATTENTION: This differs from usual zsh behaviour! In addition to traditional | 
						|
#            login shells, this is also sourced by any top-level ($SHLVL=1) | 
						|
#            non-login shells. (In the latter case, from zshenv) | 
						|
# | 
						|
# This is useful because it only gets executed once for any given tree | 
						|
# of zsh-processes, saving resources on sub-shell invocation while still | 
						|
# providing a consistent environment in login and non-login shells. | 
						|
# | 
						|
# Then why also source it in non-interactive shells? | 
						|
# Because it prevents desync between scripts and interactive prompts. | 
						|
# Ever tried to debug a script and ended up with "But it works in the prompt!"? | 
						|
# | 
						|
# For code intended for login shells only, use zlogin instead. | 
						|
# | 
						|
 | 
						|
# | 
						|
# Browser | 
						|
# | 
						|
if [[ "$OSTYPE" == darwin* ]]; then | 
						|
    export BROWSER=open | 
						|
elif (( $+commands[termux-open] )); then | 
						|
    export BROWSER=termux-open | 
						|
elif (( $+commands[xdg-open] )); then | 
						|
    export BROWSER=xdg-open | 
						|
fi | 
						|
 | 
						|
 | 
						|
# | 
						|
# Editors | 
						|
# | 
						|
if (( $+commands[nvim] )); then | 
						|
    export EDITOR=nvim | 
						|
    export VISUAL=nvim | 
						|
else | 
						|
    export EDITOR=vim | 
						|
    export VISUAL=vim | 
						|
fi | 
						|
 | 
						|
export PAGER='less' | 
						|
 | 
						|
 | 
						|
# | 
						|
# Language | 
						|
# | 
						|
if [[ -z "$LANG" ]]; then | 
						|
  export LANG='en_US.UTF-8' | 
						|
fi | 
						|
 | 
						|
 | 
						|
# | 
						|
# Termux | 
						|
# | 
						|
if (( $+commands[termux-info] )); then | 
						|
    export TMPDIR="$PREFIX/tmp" | 
						|
fi | 
						|
 | 
						|
 | 
						|
# | 
						|
# Terminfo | 
						|
# | 
						|
if [[ ! -f "${PREFIX:-/usr}/share/terminfo/${TERM:0:1}/$TERM" ]]; then | 
						|
    if [[ "${TERM:0:7}" == "konsole" ]] || echo $TERM | grep -q 256color; then | 
						|
        export TERM=xterm-256color | 
						|
    else | 
						|
        export TERM=xterm | 
						|
    fi | 
						|
fi | 
						|
 | 
						|
 | 
						|
# | 
						|
# Paths | 
						|
# | 
						|
 | 
						|
# Set the the list of directories that cd searches. | 
						|
# cdpath=( | 
						|
#   $cdpath | 
						|
# ) | 
						|
 | 
						|
# Set the list of directories that Zsh searches for programs. | 
						|
path=( | 
						|
  $HOME/.local/bin | 
						|
  $DOTFILES/bin | 
						|
  $HOME/junest/bin | 
						|
  /usr/local/{bin,sbin} | 
						|
  $path | 
						|
) | 
						|
 | 
						|
# Set the list of directories that Python searches for modules. | 
						|
pythonpath=( | 
						|
  $DOTFILES/lib/python | 
						|
  "${(@s|:|)PYTHONPATH}" | 
						|
) | 
						|
 | 
						|
# Ensure path arrays do not contain duplicates. | 
						|
typeset -gU cdpath fpath mailpath path pythonpath | 
						|
 | 
						|
# zsh only maps the array and text versions for PATH | 
						|
export PYTHONPATH="${(j|:|)pythonpath}" | 
						|
 | 
						|
 | 
						|
# | 
						|
# Less | 
						|
# | 
						|
 | 
						|
# Set the default Less options. | 
						|
# Mouse-wheel scrolling has been disabled by -X (disable screen clearing). | 
						|
# Remove -X and -F (exit if the content fits on one screen) to enable it. | 
						|
export LESS='-F -g -i -M -R -S -w -X -z-4' | 
						|
 | 
						|
# Set the Less input preprocessor. | 
						|
if (( $+commands[lesspipe.sh] )); then | 
						|
  export LESSOPEN='| /usr/bin/env lesspipe.sh %s 2>&-' | 
						|
fi | 
						|
 | 
						|
 | 
						|
# | 
						|
# Temporary Files | 
						|
# | 
						|
if [[ ! -d "$TMPDIR" ]]; then | 
						|
  export TMPDIR="/tmp/$UID" | 
						|
  mkdir -p -m 700 "$TMPDIR" | 
						|
fi | 
						|
 | 
						|
TMPPREFIX="${TMPDIR%/}/zsh" | 
						|
if [[ ! -d "$TMPPREFIX" ]]; then | 
						|
  mkdir -p "$TMPPREFIX" | 
						|
fi | 
						|
 | 
						|
 | 
						|
# | 
						|
# SSH | 
						|
# | 
						|
if (( $+commands[systemctl] )); then | 
						|
    eval "$(systemctl --user show-environment | grep '^SSH_AUTH_SOCK=')" | 
						|
fi | 
						|
if [ -n $SSH_AUTH_SOCK -a -f "$XDG_RUNTIME_DIR/ssh-agent.sock" ]; then | 
						|
    SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/ssh-agent.sock" | 
						|
fi | 
						|
export SSH_AUTH_SOCK | 
						|
 | 
						|
 | 
						|
# | 
						|
# Arch Build system | 
						|
# | 
						|
if [ -f /etc/arch-release ]; then | 
						|
    export ASPROOT=$HOME/aur/ABS/.asp | 
						|
fi | 
						|
 | 
						|
 | 
						|
# | 
						|
# LaTeX | 
						|
# | 
						|
export TEXMFHOME=$DOTFILES/texmf | 
						|
 | 
						|
 | 
						|
# | 
						|
# Local overrides | 
						|
# | 
						|
[[ -e "$DOTFILES/zsh/zprofile.local" ]] && source "$DOTFILES/zsh/zprofile.local" | 
						|
 | 
						|
 |