bashrc
This commit is contained in:
commit
ca09cf74b1
1 file changed
+95
+95
@@ -0,0 +1,95 @@
|
|||||||
|
# -------------------------------------------
|
||||||
|
|
||||||
|
# Case-insensitive globbing (used in pathname expansion)
|
||||||
|
shopt -s nocaseglob
|
||||||
|
|
||||||
|
# Append to the Bash history file, rather than overwriting it
|
||||||
|
export HISTCONTROL=ignoredups:erasedups # no duplicate entries
|
||||||
|
export HISTSIZE=100000 # big big history
|
||||||
|
export HISTFILESIZE=100000 # big big history
|
||||||
|
shopt -s histappend # append to history, don't overwrite it
|
||||||
|
PROMPT_COMMAND='history -a'
|
||||||
|
|
||||||
|
# Autocorrect typos in path names when using `cd`
|
||||||
|
shopt -s cdspell
|
||||||
|
|
||||||
|
# Enable some Bash 4 features when possible:
|
||||||
|
# * `autocd`, e.g. `**/qux` will enter `./foo/bar/baz/qux`
|
||||||
|
# * Recursive globbing, e.g. `echo **/*.txt`
|
||||||
|
for option in autocd globstar; do
|
||||||
|
shopt -s "$option" 2>/dev/null
|
||||||
|
done
|
||||||
|
|
||||||
|
# Add tab completion for SSH hostnames based on ~/.ssh/config, ignoring wildcards
|
||||||
|
[ -e "$HOME/.ssh/config" ] && complete -o "default" -o "nospace" -W "$(grep "^Host" ~/.ssh/config | grep -v "[?*]" | cut -d " " -f2)" scp sftp ssh
|
||||||
|
|
||||||
|
. /etc/bash_completion
|
||||||
|
|
||||||
|
export EDITOR=nvim
|
||||||
|
export GOPATH=$HOME/.go
|
||||||
|
export PATH="/home/ntr/.nodejs/bin:$HOME/.cargo/bin:$PATH:/home/ntr/.local/bin:/home/ntr/.dotnet/tools:/usr/local/go/bin:$PATH"
|
||||||
|
|
||||||
|
|
||||||
|
# ------------------------------------------------------------------
|
||||||
|
# aliases
|
||||||
|
# Detect which `ls` flavor is in use
|
||||||
|
if ls --color > /dev/null 2>&1; then # GNU `ls`
|
||||||
|
colorflag="--color"
|
||||||
|
else # OS X `ls`
|
||||||
|
colorflag="-G"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# List all files colorized in long format
|
||||||
|
alias l="ls -l ${colorflag}"
|
||||||
|
|
||||||
|
# List all files colorized in long format, including dot files
|
||||||
|
alias la="ls -lah ${colorflag}"
|
||||||
|
|
||||||
|
# List only directories
|
||||||
|
alias lsd='ls -l ${colorflag} | grep "^d"'
|
||||||
|
|
||||||
|
# Always use color output for `ls`
|
||||||
|
alias ls="command ls ${colorflag}"
|
||||||
|
export LS_COLORS='no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.ogg=01;35:*.mp3=01;35:*.wav=01;35:'
|
||||||
|
|
||||||
|
# Enable aliases to be sudo’ed
|
||||||
|
alias sudo='sudo '
|
||||||
|
|
||||||
|
alias sl="subl"
|
||||||
|
alias k="kubectl"
|
||||||
|
alias lg="lazygit"
|
||||||
|
alias vim="nvim"
|
||||||
|
|
||||||
|
# -------------------------------------------------------
|
||||||
|
# prompt
|
||||||
|
|
||||||
|
# Linux Colours for gruvbox
|
||||||
|
WHITE="\033[1;39m"
|
||||||
|
BLACK="\033[1;30m"
|
||||||
|
RED="\033[1;31m"
|
||||||
|
GREEN="\033[1;32m"
|
||||||
|
YELLOW="\033[1;33m"
|
||||||
|
BLUE="\033[1;34m"
|
||||||
|
MAGENTA="\033[1;35m"
|
||||||
|
CYAN="\033[1;36m"
|
||||||
|
LG="\033[1;37m"
|
||||||
|
LIGHT_RED="\033[1;91m"
|
||||||
|
LIGHT_GREEN="\033[1;92m"
|
||||||
|
LIGHT_YELLOW="\033[1;93m"
|
||||||
|
LIGHT_BLUE="\033[1;94m"
|
||||||
|
LIGHT_MAGENTA="\033[1;95m"
|
||||||
|
LIGHT_CYAN="\033[1;96m"
|
||||||
|
FG="\033[1;97m"
|
||||||
|
BOLD=""
|
||||||
|
RESET="\033[m"
|
||||||
|
# fi
|
||||||
|
|
||||||
|
parse_git_dirty () {
|
||||||
|
[[ $(git status 2> /dev/null | tail -n1) != "nothing to commit, working tree clean" ]] && echo "*"
|
||||||
|
}
|
||||||
|
parse_git_branch () {
|
||||||
|
git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e "s/* \(.*\)/\1$(parse_git_dirty)/"
|
||||||
|
}
|
||||||
|
|
||||||
|
PS1="\[${CYAN}\]\w\[$FG\]\$([[ -n \$(git branch 2> /dev/null) ]] && echo \" on \")\[$MAGENTA\]\$(parse_git_branch)\[$FG\] -> \[$RESET\]"
|
||||||
|
|
||||||
Reference in new issue
Block a user