summaryrefslogtreecommitdiffstats
path: root/.bashrc
blob: 59285704bf3c37ed27bd1bb83de066146fabc657 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# If not running interactively, don't do anything else
[[ $- != *i* ]] && return

[[ $TERM = "eterm-color" || $TERM = "screen" ]] && source ~/.bash_profile

# from https://unix.stackexchange.com/a/55935
a_prompt() {
    cwd=$(sed -e "s:$HOME:~:" -e "s:\(\.\?[^/]\)[^/]*/:\1/:g" <<<$PWD)
    printf $cwd
}
PS1="\u@\h \$(a_prompt)> "

# i-beam cursor
# echo -e "\033[5 q"              # blinking
echo -e "\033[6 q"              # non-blinking

# various bash tweaks
shopt -s histappend
shopt -s cmdhist
HISTSIZE=
HISTFILESIZE=
HISTCONTROL=ignoreboth
HISTIGNORE='ls:l:s:g:[bf]g:history'
HISTTIMEFORMAT='%F %T '
stty stop ""

# aliases
alias ls='ls --color=auto'
alias l='ls -lh'                # long format and human-readable sizes
alias ll='l -A'                 # long format, all files
alias g='git'
include /usr/share/bash-completion/completions/git && __git_complete g _git
alias mpv="mpv --ytdl-format mp4"
alias mv="mv -iv"
alias cp="cp -iv"
alias scl=systemctl
alias jcl=journalctl
alias mbsync='mbsync -c "$XDG_CONFIG_HOME"/isync/mbsyncrc'
alias getmail='getmail --getmaildir "$XDG_CONFIG_HOME"/getmail --rcfile getmailrc'
alias mb="mbsync csclub; mbsync uwaterloo; mbsync amin"
alias gm="getmail"
alias m="mb; gm"
alias best="youtube-dl -f best"

aur() {
   cd ~/usr/builds
   [ -d ${1} ] || git clone https://aur.archlinux.org/${1}.git
   cd ${1}
}

# fzf
include /usr/share/fzf/key-bindings.bash
include /usr/share/fzf/completion.bash

if ! pgrep -u "$USER" ssh-agent > /dev/null; then
    ssh-agent > ~/.ssh-agent-thing
fi
if [[ ! "$SSH_AUTH_SOCK" ]]; then
    eval "$(<~/.ssh-agent-thing)"
fi