a lot of applications seem to hardcode this location, so it's better to have something default, or default-adjasoned.
39 lines
1.5 KiB
Bash
39 lines
1.5 KiB
Bash
#!/bin/sh
|
|
# shellcheck disable=1091
|
|
#
|
|
# ~/.bash_profile
|
|
# sourced upon new login shells
|
|
#
|
|
|
|
# https://specifications.freedesktop.org/basedir-spec/latest/
|
|
export XDG_CONFIG_HOME="$HOME/.config" # configuration files are stored (default: ~/.config)
|
|
export XDG_DATA_HOME="$HOME/.local/share" # data files are stored (default: ~/.local/share)
|
|
export XDG_BIN_HOME="$HOME/.local/bin" # binary executable files, not within the specification, but added for consistency
|
|
export XDG_STATE_HOME="$HOME/.var/lib" # state data that should persist between (application) restarts, but not important enough to be stored in XDG_DATA_HOME (default: ~/.local/state)
|
|
export XDG_CACHE_HOME="$HOME/.var/cache" # user-specific non-essential (cached) data.
|
|
export PATH="$XDG_BIN_HOME:$PATH" # add our bin in front of PATH, making it take precedence
|
|
|
|
if command -v nvim >/dev/null; then
|
|
export EDITOR=nvim # use neovim as an editor
|
|
export VISUAL=nvim # use neovim for visual-based editors
|
|
export MANPAGER='nvim +Man!' # use neovim as a manual pager
|
|
fi
|
|
|
|
# coloured GCC warnings and errors
|
|
export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'
|
|
|
|
# Microsoft bullshit
|
|
export DOTNET_CLI_TELEMETRY_OPTOUT=1
|
|
export VCPKG_DISABLE_METRICS=1
|
|
export VCPKG_ROOT="$XDG_DATA_HOME/vcpkg"
|
|
export PATH="$PATH:$VCPKG_ROOT"
|
|
|
|
# if executing interactively
|
|
# execute .bashrc in the current login context
|
|
case $- in
|
|
*i*) ;;
|
|
*) return ;;
|
|
esac
|
|
[ -z "${PS1-}" ] && return
|
|
[ -f "$HOME/.bashrc" ] && . "$HOME/.bashrc"
|