summaryrefslogtreecommitdiff
path: root/.config/shell/aliasrc
blob: 0757b447b904b9b1b4b21b1a417219d9c602886c (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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
## MISCELLANEOUS

# various shortcuts
alias reboot='sudo reboot'
alias poweroff='sudo poweroff'
alias refresh='. $ZDOTDIR/.zshrc'
alias zzz='sudo pm-suspend'
alias fuck='sudo $(fc -Lln -1)'
alias open='xdg-open'
alias mutt='cd ~/.mutt/attachments; mutt; cd -'
alias jpwine='LANG=ja_JP.UTF-8 WINEDEBUG=-all wine'
alias emd='/usr/local/bin/emacs --daemon &'
alias emc='emacsclient -c -a "emacs"'
alias vi='$EDITOR'
alias z='zathura'
alias nnn='nnn -Hde'
alias cn='clear;neofetch'
alias ea='vi ~/.config/shell/aliasrc'
alias ez='vi ~/.config/zsh/.zshrc'
alias lr='su - root'
alias cam='mpv --profile=low-latency --untimed /dev/video0'
alias df='df -h'
alias tma='tmux a -t'
alias tmn='tmux new-session -s'

# rename files in pwd 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'

# start freyr docker image to download music from spotify
# alias freyr='docker run -it -v /media/hdd/music:/data freyr-dev'

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

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

# set custom ascii
# alias neofetch='neofetch --source ~/docs/ascii/lain'

# cp mv and rm always verbose
alias cp='cp -iv'
alias mv='mv -iv'
alias rm='rm -Iv'
alias mkd='mkdir -pv'

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

# ls shortcuts
alias ls='ls -hl --color=always --group-directories-first'
alias la='ls -a'
alias lc='ls | tail -n +2 | wc -l'

lsd() {
    if [ "$1" = "" ]; then
        ls -d */;
    else
        ls -d $1/*/ | sed "s|$1/||";
    fi
}

gls() {
    if [ "$2" = "" ]; then
        ls | grep "$1"
    else
        ls "$2" | grep "$1"
    fi
}

# 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)"

# monitor settings
alias rmlr='xrandr --auto --output HDMI-A-0 --mode 640x480 --primary'
alias rmmr='xrandr --auto --output HDMI-A-0 --mode 800x600 --primary'
alias rmdr='xrandr --auto --output HDMI-A-0 --mode 1920x1080 --primary'
alias lmlr='xrandr --auto --output DisplayPort-2 --mode 640x480 --left-of HDMI-A-0'
alias lmmr='xrandr --auto --output DisplayPort-2 --mode 800x600 --left-of HDMI-A-0'
alias lmdr='xrandr --auto --output DisplayPort-2 --mode 1600x900 --left-of HDMI-A-0'
alias mbl='sudo ddcutil --display 1 setvcp 10 0 && sudo ddcutil --display 2 setvcp 10 0'
alias mbm='sudo ddcutil --display 1 setvcp 10 50 && sudo ddcutil --display 2 setvcp 10 50'
alias mbh='sudo ddcutil --display 1 setvcp 10 80 && sudo ddcutil --display 2 setvcp 10 80'

# function for timer and stopwatch
timer() {
   date1=$((`date +%s` + $1)); 
   while [ "$date1" -ge `date +%s` ]; do 
     echo -ne "$(date -u --date @$(($date1 - `date +%s`)) +%H:%M:%S)\r";
     sleep 0.1
   done
   notify-send "Time Up"; pw-play "/usr/share/sounds/freedesktop/stereo/complete.oga"
}

stopwatch() {
  date1=`date +%s`; 
   while true; do 
    echo -ne "$(date -u --date @$((`date +%s` - $date1)) +%H:%M:%S)\r"; 
    sleep 0.1
   done
}

## FUNCTIONS FOR CONVERTING DATE TO ISO 8601

# convert date from YYYYMMDD to YYYY-MM-DD
date-convert() {
    for i in *; do
        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
        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;
}

## CONVERTING VIDEO

# convert video files to webm
mkwebm() {
    ffmpeg -i "${1}" -c:v libvpx-vp9 -crf 32 -b:v 300K -c:a libvorbis "${1%.*}".webm
}

## GIT

# general shortcuts
alias status='git status'
alias commit='git commit -m'
alias fetch='git fetch'
alias upstream='git push --set-upstream origin'
alias remote='git remote add origin'
alias pull='git pull origin'
alias push='git push origin'

# 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 origin'

# package management
alias aptsr='apt search'
alias aptin='sudo apt install'
alias aptrm='sudo apt remove --autoremove'
alias aptupd='sudo apt update'
alias aptupg='sudo apt upgrade'
alias aptup='aptupd && aptupg'
alias aptli='apt list --installed'
alias aptlu='apt list --upgradable'
alias aptman='apt-mark showmanual'