#!/bin/sh # Environment variables for all kinds of shells # Standard XDG base directories # See: https://wiki.archlinux.org/title/XDG_Base_Directory export XDG_CACHE_HOME="$HOME/.cache" export XDG_CONFIG_HOME="$HOME/.config" export XDG_DATA_HOME="$HOME/.local/share" # also set in ~/.local/bin/{generate-shell-completions,install-dotfiles,update-dotfiles} export XDG_STATE_HOME="$HOME/.local/state" # also set in ~/.local/bin/generate-shell-completions # Make up a XDG directory for binaries (that does not exist in the standard) export XDG_BIN_HOME="$HOME/.local/bin" # also set in ~/.local/bin/install-dotfiles # Convenient names for various places in the system export DOTFILES_DIR="$XDG_DATA_HOME/dotfiles" # also set in ~/.local/bin/{install-dotfiles,update-dotfiles} # Generic shell configs export EDITOR=vim export GPG_TTY=$(tty) export PAGER="less --chop-long-lines --ignore-case --LONG-PROMPT --no-init --status-column --quit-if-one-screen" export PYTHONDONTWRITEBYTECODE=1 export TZ="Europe/Berlin" export VISUAL=$EDITOR export LANG=en_US.UTF-8 export LC_TIME=en_DK.UTF-8 # ISO dates, 24h clock, Monday first export LC_PAPER=de_DE.UTF-8 # A4 export LC_MEASUREMENT=de_DE.UTF-8 # metric export LC_MONETARY=de_DE.UTF-8 # Euro export LC_NUMERIC=en_US.UTF-8 # 1,234.56 rather than 1.234,56 export LC_ADDRESS=de_DE.UTF-8 export LC_TELEPHONE=de_DE.UTF-8 if command -v bat >/dev/null 2>&1; then export MANPAGER="sh -c 'col -bx | bat --language man --plain'" export MANROFFOPT="-c" fi # Move common tools' config and cache files into XDG directories export BAT_CONFIG_PATH="$XDG_CONFIG_HOME/bat/config" export LESSHISTFILE="$XDG_STATE_HOME/less/history" export PSQLRC="$XDG_CONFIG_HOME/psql/psqlrc" export PYENV_ROOT="$XDG_DATA_HOME/pyenv" export PYTHON_HISTORY="$XDG_STATE_HOME/python/history" export PYTHONSTARTUP="$XDG_CONFIG_HOME/python/startup.py" export VIMINIT='let $MYVIMRC="'"$XDG_CONFIG_HOME"'/vim/vimrc" | source $MYVIMRC'