#!/bin/bash # shellcheck disable=1091 # # ~/.bash_profile # sourced upon new login shells # # https://specifications.freedesktop.org/basedir-spec/latest/ export XDG_CONFIG_HOME="$HOME/etc" # configuration files are stored (default: ~/.config) export XDG_DATA_HOME="$HOME/usr/share" # data files are stored (default: ~/.local/share) export XDG_BIN_HOME="$HOME/usr/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' # export Microsoft's bullshit outta here export DOTNET_CLI_TELEMETRY_OPTOUT=1 export VCPKG_DISABLE_METRICS=1 export VCPKG_ROOT="$XDG_DATA_HOME/vcpkg" export PATH+=":$VCPKG_ROOT" # if executing interactively # execute .bashrc in the current login context [[ $- != *i* ]] && return [[ -z ${PS1-} ]] && retrun [[ -f $HOME/.bashrc ]] && . "$HOME/.bashrc"