74 lines
4.8 KiB
Bash
74 lines
4.8 KiB
Bash
# ~/.bashrc — interactive shell config
|
|
# not interactive? bail out
|
|
case $- in *i*) ;; *) return ;; esac
|
|
|
|
# ─── system defaults ──────────────────────────────────────────────────────────
|
|
[ -f /etc/bash.bashrc ] && source /etc/bash.bashrc
|
|
|
|
# ─── history ──────────────────────────────────────────────────────────────────
|
|
HISTCONTROL=ignoreboth
|
|
HISTSIZE=10000
|
|
HISTFILESIZE=20000
|
|
HISTIGNORE="clear:bg:fg:cd:cd -:cd ..:exit:date:ls:l:ll:* --help"
|
|
shopt -s histappend
|
|
shopt -s checkwinsize
|
|
|
|
# ─── prompt ───────────────────────────────────────────────────────────────────
|
|
# green user, blue path — simple and readable
|
|
PS1='\[\e[1;32m\]\u\[\e[0m\]:\[\e[1;34m\]\w\[\e[0m\]\$ '
|
|
|
|
# ─── colors ───────────────────────────────────────────────────────────────────
|
|
if [ -x /usr/bin/dircolors ]; then
|
|
eval "$(dircolors -b ~/.dircolors 2>/dev/null || dircolors -b)"
|
|
fi
|
|
|
|
# ─── aliases ──────────────────────────────────────────────────────────────────
|
|
[ -f ~/.bash_aliases ] && source ~/.bash_aliases
|
|
|
|
# ─── completions ──────────────────────────────────────────────────────────────
|
|
if ! shopt -oq posix; then
|
|
if [ -f /usr/share/bash-completion/bash_completion ]; then
|
|
. /usr/share/bash-completion/bash_completion
|
|
elif [ -f /etc/bash_completion ]; then
|
|
. /etc/bash_completion
|
|
fi
|
|
fi
|
|
|
|
# ─── fzf ──────────────────────────────────────────────────────────────────────
|
|
[ -f ~/.fzf.bash ] && source ~/.fzf.bash
|
|
export FZF_DEFAULT_OPTS="--height 40% --layout=reverse --border"
|
|
|
|
# ─── less ─────────────────────────────────────────────────────────────────────
|
|
export LESS="-R --use-color"
|
|
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
|
|
|
|
# ─── rust / cargo ─────────────────────────────────────────────────────────────
|
|
[ -f "$HOME/.cargo/env" ] && . "$HOME/.cargo/env"
|
|
|
|
# ─── node / nvm ───────────────────────────────────────────────────────────────
|
|
export NVM_DIR="$HOME/.nvm"
|
|
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
|
|
[ -s "$NVM_DIR/bash_completion" ] && . "$NVM_DIR/bash_completion"
|
|
|
|
# ─── pnpm ─────────────────────────────────────────────────────────────────────
|
|
export PNPM_HOME="$HOME/.local/share/pnpm"
|
|
case ":$PATH:" in
|
|
*":$PNPM_HOME:"*) ;;
|
|
*) export PATH="$PNPM_HOME:$PATH" ;;
|
|
esac
|
|
|
|
# ─── deno ─────────────────────────────────────────────────────────────────────
|
|
[ -f "$HOME/.deno/env" ] && . "$HOME/.deno/env"
|
|
|
|
# ─── java ─────────────────────────────────────────────────────────────────────
|
|
export JAVA_HOME="$HOME/.jdks/corretto-23.0.2"
|
|
export PATH="$JAVA_HOME/bin:$PATH"
|
|
|
|
# ─── jbang ────────────────────────────────────────────────────────────────────
|
|
export PATH="$HOME/.jbang/bin:$PATH"
|
|
alias j!=jbang
|
|
|
|
# ─── local bin ────────────────────────────────────────────────────────────────
|
|
[ -d "$HOME/.local/bin" ] && export PATH="$HOME/.local/bin:$PATH"
|
|
[ -d "$HOME/bin" ] && export PATH="$HOME/bin:$PATH"
|