54 lines
1.3 KiB
Bash
54 lines
1.3 KiB
Bash
# If not running interactively, don't do anything
|
|
[[ $- != *i* ]] && return
|
|
|
|
# Load aliases dynamically
|
|
[ -f "$HOME/.aliasrc" ] && source "$HOME/.aliasrc"
|
|
|
|
# Add ~/.bin to PATH
|
|
export PATH=~/.bin:$PATH
|
|
|
|
# Prompt
|
|
get_branch_name() {
|
|
git symbolic-ref --quiet --short HEAD 2>/dev/null \
|
|
|| git rev-parse --short HEAD 2>/dev/null \
|
|
|| echo 'some branch'
|
|
}
|
|
get_git_info() {
|
|
git rev-parse --is-inside-work-tree &>/dev/null || return
|
|
echo -e " $(get_branch_name)"
|
|
}
|
|
|
|
|
|
export PS1="\u \w ❭\[$(tput sgr0)\] "
|
|
|
|
# History
|
|
export HISTCONTROL=ignoreboth
|
|
export HISTSIZE=500000
|
|
|
|
# Readable man pages
|
|
export MANWIDTH=120
|
|
|
|
# Vim
|
|
export EDITOR='vim'
|
|
|
|
# Fuzzy finder setup
|
|
source /usr/share/fzf/*.bash
|
|
source /usr/share/fzf/key-bindings.bash
|
|
export FZF_DEFAULT_COMMAND='ag --hidden --ignore .git -t -g ""'
|
|
export FZF_DEFAULT_OPTS='--height 38% --reverse --border --prompt="❭ " --pointer="❭"'
|
|
export FZF_COMPLETION_OPTS='-x'
|
|
|
|
# Nvm
|
|
lazy_load_nvm() {
|
|
unset -f nvm node npm npx
|
|
export NVM_DIR="$HOME/.nvm"
|
|
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
|
|
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
|
|
}
|
|
nvm() { lazy_load_nvm nvm $@; }
|
|
node() { lazy_load_nvm node $@; }
|
|
npm() { lazy_load_nvm npm $@; }
|
|
npx() { lazy_load_nvm npx $@; }
|
|
# Ellipsis when deep in directory
|
|
export PROMPT_DIRTRIM=2
|