#!/usr/bin/env zsh # https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html export XDG_CONFIG_HOME=${XDG_CONFIG_HOME:-$HOME/.config} export XDG_CACHE_HOME=${XDG_CACHE_HOME:-$HOME/.cache} export XDG_DATA_HOME=${XDG_DATA_HOME:-$HOME/.local/share} export XDG_STATE_HOME=${XDG_STATE_HOME:-$HOME/.local/state} export XDG_RUNTIME_DIR=${XDG_RUNTIME_DIR:-$HOME/.xdg} for xdgdir in XDG_{CONFIG,CACHE,DATA,STATE}_HOME XDG_RUNTIME_DIR; do [[ -e ${(P)xdgdir} ]] || mkdir -p ${(P)xdgdir} done # Ensure path arrays do not contain duplicates. typeset -gU path fpath cdpath # add custom completions fpath=( ${ZDOTDIR:-${XDG_CONFIG_HOME:-$HOME/.config}/zsh}/completions(-/FN) $fpath ) # Set the list of directories that zsh searches for commands. path=( $HOME/{,.local/}{,s}bin(N) $HOME/.extra/bin(N) $HOME/.{go,cargo,pyenv,pixi}/bin(N) $HOME/.zig(N) /opt/local/{,s}bin(N) /usr/{,local/}{,s}bin(N) $path ) # start by sourcing extras for rcfile in $ZDOTDIR/local/{current,shared}/*.{,z}sh(N); do source $rcfile done # Set default less options. export LESS="${LESS:--g -i -M -R -S -w -z-4}" # Use `< file` to quickly view the contents of any file. [[ -z "$READNULLCMD" ]] || READNULLCMD=$PAGER