#!/usr/bin/env zsh # Eryn Wells # See https://specifications.freedesktop.org/basedir/latest/ for definitions of # these paths. function init-env-default-xdg-vars { zmodload zsh/zutil local -a opt_create zparseopts -a opt_args -D -E -F - \ {c,-create,-no-create}=opt_create # Base directories export \ XDG_BIN_HOME=${XDG_BIN_HOME:-$HOME/.local/bin} \ XDG_CACHE_HOME=${XDG_CACHE_HOME:-$HOME/.cache} \ XDG_CONFIG_HOME=${XDG_CACHE_HOME:-$HOME/.config} \ XDG_DATA_HOME=${XDG_DATA_HOME:-$HOME/.local/share} \ XDG_STATE_HOME=${XDG_DATA_HOME:-$HOME/.local/state} \ XDG_RUNTIME_DIR=${XDG_DATA_HOME:-$HOME/.local/var} # User directories export \ XDG_DESKTOP_DIR=${XDG_DESKTOP_DIR:-$HOME/Desktop} \ XDG_DOCUMENTS_DIR=${XDG_DOCUMENTS_DIR:-$HOME/Document} \ XDG_DOWNLOAD_DIR=${XDG_DOWNLOAD_DIR:-$HOME/Downloads} \ XDG_MUSIC_DIR=${XDG_MUSIC_DIR:-$HOME/Music} \ XDG_PICTURES_DIR=${XDG_PICTURES_DIR:-$HOME/Pictures} \ XDG_PUBLICSHARE_DIR=${XDG_PUBLICSHARE_DIR:-$HOME/Public} \ XDG_VIDEOS_DIR=${XDG_VIDEOS_DIR:-$HOME/Video} if [[ $opt_create[(I)--no-create] -ne 0 ]]; then mkdir -p -m 0700 \ $XDG_BIN_HOME \ $XDG_CACHE_HOME \ $XDG_CONFIG_HOME \ $XDG_DATA_HOME \ $XDG_STATE_HOME fi } init-env-default-xdg-vars "$@"