configs/.bashrc
2020-09-14 22:50:23 +02:00

80 lines
1.8 KiB
Bash

#
# ~/.bashrc
#
# If not running interactively, don't do anything
[[ $- != *i* ]] && return
alias ls='ls --color=auto'
PS1='[\u@\h \W]\$ '
if ! pgrep -u "$USER" ssh-agent > /dev/null; then
ssh-agent -t 1h > "$XDG_RUNTIME_DIR/ssh-agent.env"
fi
if [[ ! "$SSH_AUTH_SOCK" ]]; then
source "$XDG_RUNTIME_DIR/ssh-agent.env" >/dev/null
fi
### ARCHIVE EXTRATION
# usage: ex <file>
# found in https://gitlab.com/dwt1/dotfiles/-/blob/master/.bashrc
ex ()
{
if [ -f $1 ] ; then
case $1 in
*.tar.bz2) tar xjf $1 ;;
*.tar.gz) tar xzf $1 ;;
*.bz2) bunzip2 $1 ;;
*.rar) unrar x $1 ;;
*.gz) gunzip $1 ;;
*.tar) tar xf $1 ;;
*.tbz2) tar xjf $1 ;;
*.tgz) tar xzf $1 ;;
*.zip) unzip $1 ;;
*.Z) uncompress $1;;
*.7z) 7z x $1 ;;
*.deb) ar x $1 ;;
*.tar.xz) tar xf $1 ;;
*.tar.zst) unzstd $1 ;;
*) echo "'$1' cannot be extracted via ex()" ;;
esac
else
echo "'$1' is not a valid file"
fi
}
### ALIASES
# Some are inspired from https://gitlab.com/dwt1/dotfiles/-/blob/master/.bashrc
alias sudo='sudo '
# navigation
alias ..='cd ..'
alias ...='cd ../.'
alias .3='cd ../../..'
alias .4='cd ../../../..'
alias .5='cd ../../../../..'
# vi = vim
alias vi='vim'
# package managers
alias upgrade='pacman -Suy && yay -Suy'
# git
alias add='git add'
alias branch='git branch'
alias commit='git commit -am'
alias clone='git clone'
alias pull='git pull'
alias push='git push'
alias merge='git merge'
alias status='git status'
alias rebase='git rebase'
# ssh
alias hindley='ssh hindley.adh.auro.re'
alias proxy_hindley='ssh -D 8080 hindley.adh.auro.re'
alias config='/usr/bin/git --git-dir=/home/me/.cfg/ --work-tree=/home/me'