75 lines
1.7 KiB
Bash
75 lines
1.7 KiB
Bash
#!/bin/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
|
|
}
|
|
|
|
# .profile is not included in the repo
|
|
[ -f "$HOME/.profile" ] && . "$HOME/.profile"
|
|
|
|
# Better than nothing
|
|
export XDG_CONFIG_HOME="$HOME/.config"
|
|
export XDG_DATA_HOME="$HOME/.local/share"
|
|
export XDG_STATE_HOME="$HOME/.local/state"
|
|
export XDG_CACHE_HOME="$HOME/.cache"
|
|
|
|
# Better than nothing
|
|
if [[ -z "$LANG" ]]; then
|
|
LANG="en_US.UTF-8"
|
|
export LANG
|
|
fi
|
|
|
|
# Paths
|
|
[ -f "$HOME/.cargo/env" ] && source "$HOME/.cargo/env"
|
|
prepend_path "$HOME/go/bin"
|
|
prepend_path "$HOME/.local/bin"
|
|
prepend_path "$HOME/.local/scripts"
|
|
prepend_path "$HOME/.local/share/fnm"
|
|
export PATH
|
|
|
|
# fnm
|
|
if type fnm &>/dev/null; then
|
|
eval "$(fnm env --shell bash)"
|
|
fi
|
|
|
|
# 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 &&
|
|
{ [ -z "$SSH_AUTH_SOCK" ] ||
|
|
[ "$(ssh-add -l &>/dev/null; echo $?)" -eq 2 ]; } &&
|
|
[ -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
|
|
export UY_USING_SSH_AGENT=1
|
|
fi
|
|
|
|
[ -f "$HOME/.bashrc" ] && . "$HOME/.bashrc"
|
|
|
|
unset append_path
|
|
unset prepend_path
|