case $- in *i*) INTERACTIVE=1 ;; *) INTERACTIVE=0 ;; esac if [ -z "$XDG_RUNTIME_DIR" ]; then XDG_RUNTIME_DIR=$(mktemp -d "/tmp/$(id -u)-runtime-dir.XXX") export XDG_RUNTIME_DIR fi ######################################################################## prepend_path() { if [ -d "$1" ]; then case ":$PATH:" in *:"$1":*) ;; *) PATH=$1:$PATH ;; esac fi } prepend_path "$HOME/.ghcup/bin" prepend_path "$HOME/.cabal/bin" prepend_path "$HOME/.cargo/bin" prepend_path "$HOME/.mcabal/bin" prepend_path "$HOME/.local/musl/bin" prepend_path "$HOME/.local/bin" export PATH ######################################################################## if [ -d /usr/local/lib/pkgconfig ]; then if [ -n "$PKG_CONFIG_PATH" ]; then PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH else PKG_CONFIG_PATH=/usr/local/lib/pkgconfig fi export PKG_CONFIG_PATH fi ######################################################################## export EDITOR=vi export ALTERNATE_EDITOR=vi export VISUAL=vi export MORE=FRX export LESS=FRX export EXINIT='set ai ic nu sw=4 ts=4 nofl magic' if command -v less >/dev/null 2>&1; then PAGER=less elif command -v more >/dev/null 2>&1; then PAGER=more else PAGER=cat fi export PAGER ######################################################################## HISTCONTROL=ignoreboth HISTSIZE=1000 HISTFILESIZE=2000 export HISTCONTROL HISTSIZE HISTFILESIZE ######################################################################## if [ "$INTERACTIVE" = 1 ]; then color=no if command -v tput >/dev/null 2>&1 && tput setaf 1 >/dev/null 2>&1 then color=yes fi case "$TERM" in xterm-color|*-256color) color=yes ;; esac user=$(id -un 2>/dev/null || echo '?') host=$(hostname 2>/dev/null || uname -n) if [ "$color" = yes ]; then PS1="$(printf '\033[1;32m')${user}@${host}$(printf '\033[0m'):$(printf '\033[1;34m')"'$PWD'"$(printf '\033[0m')\$ " else PS1="${user}@${host}:\$PWD\$ " fi case "$TERM" in xterm*|rxvt*|st*|alacritty*) PS1="$(printf '\033]0;%s@%s: %s\007' "$user" "$host" '$PWD')$PS1" ;; esac export PS1 fi ######################################################################## if [ "$INTERACTIVE" = 1 ]; then alias cb='xclip -selection clipboard' alias bctl='bluetoothctl' alias less='less -i' alias e='emacs' alias a='emacsclient -n' alias femacs='fbterm -- fbterm-emacs.sh' alias demacs='emacs --daemon' alias ta='tmux attach' alias gl='git log --graph --all --oneline' alias glt='git log --graph --all --oneline --simplify-by-decoration' alias gs='git status' alias gc='git checkout' alias gb='git branch' alias gd='git diff --patch' alias gds='git diff --patch --cached' # Only define if supported. command -v pushd >/dev/null 2>&1 && alias pd=pushd command -v popd >/dev/null 2>&1 && alias ppd=popd alias up='cd ..' alias cdp='cd "$(git worktree list --porcelain | awk '"'"'$1=="worktree"{print $2; exit}'"'"')"' alias ll='ls -la' alias l='lk' ls --color=auto >/dev/null 2>&1 && alias ls='ls --color=auto' grep --color=auto "" /dev/null 2>&1 && \ alias grep='grep --color=auto' fi ######################################################################## if [ -n "$BASH_VERSION" ]; then shopt -s histappend checkwinsize globstar fi ######################################################################## if [ -n "$EAT_SHELL_INTEGRATION_DIR" ]; then case "$BASH_VERSION" in "") ;; *) [ -f "$EAT_SHELL_INTEGRATION_DIR/bash" ] && . "$EAT_SHELL_INTEGRATION_DIR/bash" ;; esac fi