dotfiles/dot_bash_profile

81 lines
2 KiB
Text

#
# ~/.bash_profile
#
# Default text editors
export EDITOR=nvim
export VISUAL=emacs
# Add ~/.local/bin to $PATH
export PATH="${HOME}/.local/bin:${PATH}"
# XDG Base Directories
export XDG_CACHE_HOME="${HOME}/.cache"
export XDG_CONFIG_HOME="${HOME}/.config"
export XDG_DATA_HOME="${HOME}/.local/share"
export XDG_STATE_HOME="${HOME}/.local/state"
# Force Java to behave when not using a DE
export _JAVA_AWT_WM_NONREPARENTING=1
# GPG passphrase prompt
GPG_TTY=$(tty)
export GPG_TTY
# Mozilla + Wayland
export MOZ_ENABLE_WAYLAND=1
## No littering in $HOME!
# bash
export HISTFILE="${XDG_STATE_HOME}/bash_history"
# cargo
export CARGO_HOME="${XDG_DATA_HOME}/cargo"
# dotnet
export DOTNET_BUNDLE_EXTRACT_BASE_DIR="${XDG_CACHE_HOME}/dotnet_bundle_extract"
export DOTNET_CLI_HOME="${XDG_DATA_HOME}/dotnet/cli"
export DOTNET_CLI_TELEMETRY_OPTOUT=true
export DOTNET_TOOLS_PATH="${XDG_DATA_HOME}/dotnet/tools"
export PATH="${DOTNET_TOOLS_PATH}:${PATH}"
# go
export GOPATH="${XDG_DATA_HOME}/go"
export GOMODCACHE="${XDG_CACHE_HOME}/go/mod"
# gpg
export GNUPGHOME="${XDG_DATA_HOME}/gnupg"
# gtk2
export GTK2_RC_FILES="${XDG_CONFIG_HOME}/gtk-2.0/gtkrc"
# node
export NPM_CONFIG_USERCONFIG="${XDG_CONFIG_HOME}/npm/npmrc"
# python
export PYTHONSTARTUP="${XDG_CONFIG_HOME}/python/pythonrc"
export PYTHONPYCACHEPREFIX="${XDG_CACHE_HOME}/python"
export PYTHONUSERBASE="${XDG_DATA_HOME}/python"
export PYENV_ROOT="${XDG_DATA_HOME}/pyenv"
[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
# rust
export RUSTUP_HOME="${XDG_DATA_HOME}/rustup"
export PATH="${XDG_DATA_HOME}/cargo/bin:${PATH}"
# wine
export WINEPREFIX="${XDG_DATA_HOME}/wine"
# Xorg
export XINITRC="${XDG_CONFIG_HOME}/X11/xinitrc"
export XAUTHORITY="${XDG_RUNTIME_DIR}/Xauthority"
# Source other dotfiles
[[ -f ~/.profile ]] && . ~/.profile
[[ -f ~/.bashrc ]] && . ~/.bashrc
# start river
[[ -z $DISPLAY && $(tty) = "/dev/tty1" ]] && exec dbus-run-session river 2> "${XDG_STATE_HOME}"/river.log >/dev/null