Files
dotfiles/config/shell/.bash_profile
T
2026-07-27 02:53:24 +02:00

78 lines
2.0 KiB
Bash

#!/hint/bash
# From archlinux's /etc/profile
append_path() {
[[ -z "$1" ]] && return
[[ -d "$1" ]] || return
case ":$PATH:" in
*:"$1":*) ;;
*)
PATH="${PATH:+$PATH:}$1"
;;
esac
}
prepend_path() {
[[ -z "$1" ]] && return
[[ -d "$1" ]] || return
case ":$PATH:" in
*:"$1":*) ;;
*)
PATH="$1${PATH:+:$PATH}"
;;
esac
}
# Better than nothing
export XDG_CONFIG_HOME=${XDG_CONFIG_HOME:-$HOME/.config}
export XDG_DATA_HOME=${XDG_DATA_HOME:-$HOME/.local/share}
export XDG_STATE_HOME=${XDG_STATE_HOME:-$HOME/.local/state}
export XDG_CACHE_HOME=${XDG_CACHE_HOME:-$HOME/.cache}
# Better than nothing
if [[ -z "$LANG" ]]; then
LANG="en_US.UTF-8"
export LANG
fi
# .profile is not included in the repo
[ -f "$HOME/.profile" ] && . "$HOME/.profile"
# Paths
[ -f "$HOME/.cargo/env" ] && source "$HOME/.cargo/env"
if type opam &>/dev/null; then
eval "$(opam env)"
fi
prepend_path "$HOME/.local/share/fnm/aliases/default/bin" # 'fnm env' is eval'ed in .bashrc
prepend_path "$HOME/.cargo/bin"
prepend_path "$HOME/go/bin"
prepend_path "$HOME/.local/bin"
prepend_path "$HOME/.local/scripts"
prepend_path "$HOME/.local/share/fnm"
export PATH
# export UY_ENABLE_GPG_AGENT_SSH=1 in .profile to enable GPG agent for SSH
if type gpgconf &>/dev/null && type gpg-connect-agent &>/dev/null &&
[ -x "$HOME/.local/scripts/gpg-init" ] &&
[ "${UY_ENABLE_GPG_AGENT_SSH:-0}" = "1" ]; then
# GPG agent for SSH
eval "$("$HOME/.local/scripts/gpg-init" 2>/dev/null)" &>/dev/null
fi
if type ssh-add &>/dev/null && type ssh-agent &>/dev/null; then
# ssh-add -l: 0 = agent with keys, 1 = agent without keys, 2 = no agent
if [ -n "$SSH_AUTH_SOCK" ] &&
{ ssh-add -l &>/dev/null; [ $? -ne 2 ]; }; then
export UY_USING_SSH_AGENT=1
elif [ -x "$HOME/.local/scripts/ssh-init" ]; then
unset SSH_AUTH_SOCK
# SSH with cross-session ssh-agent
eval "$("$HOME/.local/scripts/ssh-init" 2>/dev/null)" &>/dev/null
[ -n "$SSH_AUTH_SOCK" ] && export UY_USING_SSH_AGENT=1
fi
fi
[ -f "$HOME/.bashrc" ] && . "$HOME/.bashrc"
unset append_path
unset prepend_path