| 1 | # If not running interactively, don't do anything else |
| 2 | [[ $- != *i* ]] && return |
| 3 | |
| 4 | [[ $TERM = "eterm-color" || $TERM = "screen" ]] && source ~/.bash_profile |
| 5 | |
| 6 | # from https://unix.stackexchange.com/a/55935 |
| 7 | a_prompt() { |
| 8 | cwd=$(sed -e "s:$HOME:~:" -e "s:\(\.\?[^/]\)[^/]*/:\1/:g" <<<$PWD) |
| 9 | printf $cwd |
| 10 | } |
| 11 | PS1="\u@\h \$(a_prompt)> " |
| 12 | |
| 13 | # i-beam cursor |
| 14 | # echo -e "\033[5 q" # blinking |
| 15 | echo -e "\033[6 q" # non-blinking |
| 16 | |
| 17 | # various bash tweaks |
| 18 | shopt -s histappend |
| 19 | shopt -s cmdhist |
| 20 | HISTSIZE= |
| 21 | HISTFILESIZE= |
| 22 | HISTCONTROL=ignoreboth |
| 23 | HISTIGNORE='ls:l:s:g:[bf]g:history' |
| 24 | HISTTIMEFORMAT='%F %T ' |
| 25 | stty stop "" |
| 26 | |
| 27 | # aliases |
| 28 | alias ls='ls --color=auto' |
| 29 | alias l='ls -lh' # long format and human-readable sizes |
| 30 | alias ll='l -A' # long format, all files |
| 31 | alias g='git' |
| 32 | include /usr/share/bash-completion/completions/git && __git_complete g _git |
| 33 | alias mpv="mpv --ytdl-format mp4" |
| 34 | alias mv="mv -iv" |
| 35 | alias cp="cp -iv" |
| 36 | alias scl=systemctl |
| 37 | alias jcl=journalctl |
| 38 | alias mbsync='mbsync -c "$XDG_CONFIG_HOME"/isync/mbsyncrc' |
| 39 | alias m="mbsync csclub; mbsync uwaterloo; mbsync amin" |
| 40 | alias best="youtube-dl -f best" |
| 41 | |
| 42 | aur() { |
| 43 | cd ~/usr/builds |
| 44 | [ -d ${1} ] || git clone https://aur.archlinux.org/${1}.git |
| 45 | cd ${1} |
| 46 | } |
| 47 | |
| 48 | # fzf |
| 49 | include /usr/share/fzf/key-bindings.bash |
| 50 | include /usr/share/fzf/completion.bash |
| 51 | |
| 52 | if ! pgrep -u "$USER" ssh-agent > /dev/null; then |
| 53 | ssh-agent > ~/.ssh-agent-thing |
| 54 | fi |
| 55 | if [[ ! "$SSH_AUTH_SOCK" ]]; then |
| 56 | eval "$(<~/.ssh-agent-thing)" |
| 57 | fi |