summaryrefslogtreecommitdiff
path: root/.config/shell/aliasrc
blob: 415c26f5d7160b0372ed4612f40c92c55365248e (plain)
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
## MISCELLANEOUS

# various shortcuts
alias reboot='sudo reboot'
alias poweroff='sudo shutdown -hP now'
alias refresh='. ~/.bashrc'
alias mutt='cd ~/.config/mutt/attachments; mutt; cd -'
alias jpwine='LANG=ja_JP.UTF-8 WINEDEBUG=-all wine'
alias emd='/usr/bin/emacs --daemon &'
alias emc='/usr/bin/emacsclient -c -a ""'
alias z='zathura'
alias nnn='nnn -Hde'
alias cl='clear;fastfetch'
alias ea='$EDITOR ~/.config/shell/aliasrc'
alias cam='mpv --profile=low-latency --untimed /dev/video0'
alias df='df -h'
alias tma='tmux a -t'
alias tmn='tmux new-session -A -s'
alias wgu='sudo wg-quick up /etc/wireguard/wg0.conf'
alias wgd='sudo wg-quick down /etc/wireguard/wg0.conf'
alias zzz='sudo zzz'
alias ska="ps -u $USER | awk 'NR > 1 { print $1 }' | xargs -t kill"

# compiler
alias clang='clang -march=native -O3 -flto=thin'

# rename files in cwd in their current order to 4-digit numbers
alias ofn='/bin/ls | cat -n | while read n f; do rename "s/${f%.*}/$(printf "%04d" "$n")/" "$f"; done'

# restart pipewire after suspend if it stops working
alias pw-restart='pkill pipewire && sleep 3s && setsid pipewire &>/dev/null'

# set preferred keyboard options
alias setkeys='xset r rate 250 30 && setxkbmap -layout us,us -variant dvorak, -option "ctrl:nocaps"'

# pad numbers in filenames with zeros
alias padz='perl-rename "s/\d+/sprintf(\"%02d\",$&)/e"'

# cp mv and rm always verbose
alias cp='cp -v'
alias mv='mv -v'
alias rm='rm -v'

# colorize grep output
alias grep='grep --color=auto -i'
alias zgrep='zgrep --color=auto -i'
alias egrep='egrep --color=auto -i'

# ls shortcuts
alias ls='ls --color=always --group-directories-first'
alias ll='ls -lh'
alias la='ll -A'
alias lc='ls | wc -l'

# control audio
alias headset='wpctl set-default "$(wpctl status | grep Headphones | cut -b11-12)"'
alias speakers='wpctl set-default "$(wpctl status | grep Speakers | cut -b11-12)"'
alias getvol='wpctl get-volume @DEFAULT_SINK@'
alias setvol='wpctl set-volume @DEFAULT_SINK@'

## FUNCTIONS FOR CONVERTING DATES

# convert date from YYYYMMDD to YYYY-MM-DD
date-convert() {
    for i in *; do
        /bin/mv "${i}" "$(echo "${i}" |
        sed 's/\([0-9][0-9][0-9][0-9]\)\([0-9][0-9]\)\([0-9][0-9]\)/\1-\2-\3/')"
    done;
}

# reverse date from DD-MM-YYYY to YYYY-MM-DD
date-reverse() {
    for i in *; do
        /bin/mv "${i}" "$(echo "${i}" |
        sed 's/\([0-9][0-9]\)-\([0-9][0-9]\)-\([0-9][0-9][0-9][0-9]\)/\3-\1-\2/')"
    done;
}

# shortcut for dotfiles repo
alias dfiles='/usr/bin/git --git-dir=$HOME/.dotfiles --work-tree=$HOME'
alias dcomm='dfiles commit -m'
alias dpush='dfiles push'

# package management
alias qu='equery u'
alias qd='equery d'
alias qg='equery g'
alias qf='equery f'
alias qb='equery b'
alias qy='equery y'

alias eli='eix -c --installed'
alias els='eix -c --selected'

alias esync='sudo emaint sync'
alias pemup='emerge -pvuND @world'
alias emup='sudo emerge -vuND @world'
alias pemin='emerge -pv'
alias emin='sudo emerge -v'
alias pemrm='emerge -pvc'
alias emrm='sudo emerge -vc'
alias emsr='emerge -s'