52 lines
1.9 KiB
Plaintext
52 lines
1.9 KiB
Plaintext
# shellcheck shell=bash
|
|
# shellcheck disable=SC1090,SC1091,SC2034
|
|
|
|
# Add local bin to PATH
|
|
export PATH="$HOME/.local/bin:$PATH"
|
|
|
|
# If not running interactively, don't do anything
|
|
[[ $- != *i* ]] && return
|
|
|
|
# Workaround for SSH/Login sessions
|
|
# https://github.com/systemd/systemd/issues/7641#issuecomment-680694017
|
|
set -a
|
|
if shopt -q login_shell && [[ -f /usr/lib/systemd/user-environment-generators/30-systemd-environment-d-generator ]]; then
|
|
eval "$(/usr/lib/systemd/user-environment-generators/30-systemd-environment-d-generator)"
|
|
# Fallback to to manually parsing environment.d
|
|
elif [[ -z "$XDG_DATA_HOME" && -z "$XDG_CONFIG_HOME" && -z "$XDG_STATE_HOME" && -z "$XDG_CACHE_HOME" ]]; then
|
|
eval "$(<"$HOME/.config/environment.d/xdg.conf")"
|
|
fi
|
|
set +a
|
|
|
|
# If we have local bash-completion, use it
|
|
[[ -f $HOME/.local/bin/bash_completion ]] && . "$HOME/.local/bin/bash_completion"
|
|
|
|
# Bash XDG history
|
|
HISTFILE="$XDG_STATE_HOME"/bash/history
|
|
HISTSIZE=10000
|
|
SAVEHIST=10000
|
|
HISTCONTROL=ignoredups:erasedups
|
|
shopt -s histappend
|
|
|
|
# Helpful tool: https://bash-prompt-generator.org
|
|
# On github: https://github.com/Scriptim/bash-prompt-generator
|
|
PS1='[\u@\h \w]\$ '
|
|
|
|
[[ -f $XDG_CONFIG_HOME/bash/.bash_aliases ]] && source "$XDG_CONFIG_HOME/bash/.bash_aliases"
|
|
|
|
# Bash specific alias
|
|
alias rc='source "$XDG_CONFIG_HOME"/bash/.bashrc'
|
|
|
|
# https://github.com/pkasemir/find-the-command
|
|
[[ -f /usr/share/doc/find-the-command/ftc.bash ]] && source /usr/share/doc/find-the-command/ftc.bash noupdate quiet info
|
|
# https://wiki.archlinux.org/title/Pkgfile#Command_not_found
|
|
# [[ -f /usr/share/doc/pkgfile/command-not-found.bash ]] && source /usr/share/doc/pkgfile/command-not-found.bash
|
|
|
|
# Starship after defining custom prompt, easy to remove
|
|
hash starship 2>/dev/null && eval "$(starship init bash)"
|
|
|
|
# Zoxide init has to be last
|
|
hash zoxide 2>/dev/null && eval "$(zoxide init bash)"
|
|
|
|
# Return 0 to indicate success that the script has been sourced to completion
|
|
return 0 |