Dotfiles for my tiling window manager + terminal workflow.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

655 lines
14 KiB

5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
  1. # vim: fdm=marker ft=go-template.sh syntax=sh
  2. # system [[[
  3. # basic [[[ #
  4. # clear screen
  5. c "printf '\033c'"
  6. d "cd ~/Downloads && printf '\033c'"
  7. hst "history"
  8. ## nf "printf '\033c' && neofetch | lolcat"
  9. nf "printf '\033c' && neofetch"
  10. fi "fish"
  11. # reload urxvt
  12. ru "xrdb ~/.Xresources && grep wallpaper ~/.cache/wal/colors.sh | cut -d\' -f2 | xargs wal -i > /dev/null"
  13. dua "sudo du -h --apparent-size | sort -h"
  14. # list file sizes in megabytes with depth 1
  15. duh "sudo du -d 1 -h --apparent-size | sort -h"
  16. dum "sudo du -d 1 -m --apparent-size | sort -h"
  17. m "man"
  18. tld "tldr"
  19. # ]]] basic #
  20. # display [[[ #
  21. # nvt "nvidia-settings --assign CurrentMetaMode='DVI-I-1: nvidia-auto-select +0+0 {ForceCompositionPipeline=On}, HDMI-0: nvidia-auto-select +3840+0 {ForceCompositionPipeline=On}'"
  22. {{ if eq .chezmoi.fullHostname "x1-carbon" }}
  23. xr "xrandr"
  24. xro "xrandr --output HDMI2 --off"
  25. xrr "xrandr --output HDMI2 --auto --right-of eDP1 --scale 1.33x1.33"
  26. xrm "xrandr --output HDMI2 --auto --same-as eDP1 --scale 1.33x1.33"
  27. xrs "xrandr -s 0"
  28. {{ end }}
  29. # ]]] display #
  30. vgb "sudo nvim /etc/default/grub"
  31. mkgb "sudo grub-mkconfig -o /boot/grub/grub.cfg"
  32. ba "bat"
  33. # ba "bat *"
  34. grep "grep --color=auto -n"
  35. grpr "grep -r"
  36. # pk "pkill -f"
  37. cld "colordiff -wy --suppress-common-lines"
  38. mkpk "makepkg -sri"
  39. ex "chmod +x"
  40. # systemctl [[[ #
  41. ctl "sudo systemctl"
  42. ctle "sudo systemctl enable"
  43. ctld "sudo systemctl disable"
  44. ctla "sudo systemctl start"
  45. ctls "sudo systemctl stop"
  46. ctlt "sudo systemctl status"
  47. ctlr "sudo systemctl restart"
  48. ctltd "sudo systemctl status dhcpcd"
  49. ctlas "sudo systemctl start sshd"
  50. nct "sudo netctl"
  51. nctf "sudo ip link set dev wlp3s0 down"
  52. nctr "sudo systemctl restart netctl-auto@wlp4s0.service"
  53. # ]]] systemctl #
  54. # ssh [[[ #
  55. cpssh "ssh-copy-id -i ~/.ssh/id_rsa.pub"
  56. xcssh "bat ~/.ssh/id_rsa.pub | xclip -selection clipboard"
  57. ssp "mosh --ssh='ssh -p 8022' 192.168.0.12"
  58. ssd "mosh kevin@165.22.239.234 tmux a"
  59. # ]]] ssh #
  60. wh "watch"
  61. ct "crontab"
  62. cte "crontab -e"
  63. wm "sudo wifi-menu"
  64. # mounting [[[ #
  65. udm "udisksctl mount -b"
  66. udmb "udisksctl mount -b /dev/sdc2"
  67. udu "udisksctl unmount -b"
  68. udub "udisksctl unmount -b /dev/sdc2"
  69. # ]]] mounting #
  70. tc "touch"
  71. vdr "vidir --verbose"
  72. # directory-related [[[ #
  73. {{ if not (eq .linux_os "termux") }}
  74. l "lsd -F --group-dirs first"
  75. la "lsd -AF --group-dirs first"
  76. ll "lsd -AlF --group-dirs first --size short"
  77. {{ else }}
  78. l "ls"
  79. la "ls -a"
  80. ll "ls -al"
  81. {{ end }}
  82. cwd "echo (pwd) | xclip -selection clipboard"
  83. smv "sudo mv"
  84. f "cd"
  85. fz "fzf -e"
  86. fbg "cd ~/Pictures/Backgrounds && ranger --selectfile (fzf -e --delimiter '/' --with-nth -1)"
  87. fnd "find . -type f -name"
  88. rmr "rm -rf"
  89. rmd "rm ~/Downloads/*"
  90. rmw "rm ~/.local/share/nvim/swap/"
  91. md "mkdir -p"
  92. rsy "rsync -Pr"
  93. # list all (un)mounted drives
  94. lhd "sudo fdisk -l"
  95. # get disc space for mounted drives
  96. # ds "df -h | tee >(head -n 1) >(grep sd) >/dev/null"
  97. ds "df -h | head -n 1 && df -h | grep sd"
  98. chownw "sudo chown -R kevin:wheel"
  99. chwnm "sudo chown -R kevin:wheel /run/media/{{ .chezmoi.username }}"
  100. # cd into backup folder and show backup sizes
  101. nbu "cd /run/media/kevin/backup-hd/{{ .chezmoi.fullHostname }}/tar && lsd -l"
  102. # ]]] directory-related #
  103. # power options [[[ #
  104. s "systemctl suspend"
  105. x "exit"
  106. so "xset dpms force off"
  107. sd "systemctl poweroff"
  108. rb "systemctl reboot"
  109. lo "i3-msg exit"
  110. xm "xmodmap ~/.Xmodmap && xset r rate $XSET_DELAY $XSET_RATE"
  111. X "xmodmap ~/.Xmodmap && xset r rate $XSET_DELAY $XSET_RATE"
  112. {{ if eq .chezmoi.fullHostname "x1-carbon" }}
  113. xl "xmodmap ~/.Xmodmap-laptop && xset r rate $XSET_DELAY $XSET_RATE"
  114. XL "xmodmap ~/.Xmodmap-laptop && xset r rate $XSET_DELAY $XSET_RATE"
  115. bt "~/linux-config/dot_config/i3blocks/scripts/executable_battery"
  116. {{ end }}
  117. # ]]] power options #
  118. # sound [[[ #
  119. {{ if eq .chezmoi.fullHostname "nzxt" }}
  120. vlm "alsamixer -c 0"
  121. vlh "alsamixer -c 2"
  122. {{ else }}
  123. vlm "alsamixer -c 1"
  124. {{ end }}
  125. # ]]] sound #
  126. # pkg management [[[ #
  127. {{ if eq .linux_os "arch" }}#[[[
  128. # pacman [[[ #
  129. # pc "sudo pacman -S"
  130. # pcq "sudo pacman -Qi"
  131. # pcr "sudo pacman -Rns"
  132. # pcud "sudo pacman -Sy"
  133. # pcug "sudo pacman -Syu"
  134. # xpc "pacman -Qqne > ~/{{ .chezmoi.os }}-config/txt/{{ .chezmoi.fullHostname }}-pkgs.txt && pacman -Qqme > ~/{{ .chezmoi.os }}-config/txt/{{ .chezmoi.fullHostname }}-aur.txt "
  135. # ]]] pacman #
  136. # tri "trizen -S --noconfirm"
  137. tri "trizen -S --noedit"
  138. # yay [[[ #
  139. # install
  140. ya "yay -S --answerclean=None --answerdiff=None --answeredit=None"
  141. # info
  142. yaq "yay -Qi"
  143. # list files
  144. yal "yay -Ql"
  145. # remove
  146. yar "yay -Rns"
  147. # sync
  148. yau "yay -Sy"
  149. # sync and download
  150. yadl "yay -Syuw --answerclean=None --answerdiff=None --answeredit=None"
  151. # sync and update
  152. yaug "yay -Syu --answerclean=None --answerdiff=None --answeredit=None"
  153. # export packages
  154. xya "yay -Qqne > ~/{{ .chezmoi.os }}-config/txt/{{ .chezmoi.fullHostname }}-pkgs.txt && yay -Qqme > ~/{{ .chezmoi.os }}-config/txt/{{ .chezmoi.fullHostname }}-aur.txt "
  155. # ]]] yay #
  156. #]]]
  157. {{ else if eq .linux_os "termux" }}#[[[
  158. pki "pkg install"
  159. pkli "pkg list-installed"
  160. pku "pkg uninstall"
  161. pks "pkg search"
  162. xpk "pkg list-installed | awk -F/ '{print \$1}' > ~/{{ .chezmoi.os }}-config/txt/termux-pkgs.txt"
  163. {{ end }}#]]]
  164. # apt [[[ #
  165. # apti "sudo apt install"
  166. # aptr "sudo apt remove"
  167. # aptu "sudo apt upgrade"
  168. # ]]] apt #
  169. # ]]] pkg management #
  170. # python [[[ #
  171. py "python"
  172. # pyt "printf '\033c' && pytest -vvs"
  173. pyt "clear && tmux clear-history && pytest -vvs"
  174. pyts "clear && tmux clear-history && pytest -vv"
  175. pyu "python -m unittest"
  176. pipi "pip install --user"
  177. spipi "sudo pip install"
  178. # ]]] python #
  179. # internet [[[ #
  180. pg "ping -c 2 -W 1 8.8.8.8"
  181. pgc "ping 8.8.8.8"
  182. dh "sudo dhcpcd"
  183. kdh "sudo killall dhcpcd"
  184. rdh "sudo killall dhcpcd && sudo dhcpcd"
  185. wgt "wget"
  186. # ]]] internet #
  187. id "identify"
  188. # rz "source ~/{{ .chezmoi.os }}-config/aliases/zsh_aliases"
  189. # mst "sudo rm ~/st/config.h && sudo bear make -C ~/st install"
  190. # mst "sudo ~/st/make-st.sh"
  191. # system ]]]
  192. # applications [[[ #
  193. # silent="> /dev/null 2>&1& "
  194. a "antimicro"
  195. # buku [[[ #
  196. b "buku"
  197. bd "buku -za ''"
  198. bh "buku -h | bat"
  199. bi "buku --immutable 1 -zu"
  200. bo "buku -o"
  201. br "buku -zd"
  202. brp "buku --replace"
  203. bs "buku --deep -n5 -s"
  204. bsv "bukuserver run --host 127.0.0.1 --port 5001"
  205. bw "buku -zw --immutable 1"
  206. # ]]] buku #
  207. chr "google-chrome"
  208. clc "cloc ."
  209. cv "cava"
  210. dg "dragon-drag-and-drop -x"
  211. ffx "firefox"
  212. fh "feh"
  213. fi "fish"
  214. gpd "gpg --decrypt"
  215. gpe "gpg --encrypt --recipient"
  216. htc "htop -s PERCENT_CPU"
  217. htm "htop -s PERCENT_MEM"
  218. i "sxiv"
  219. ig "sxiv -a"
  220. it "sxiv -t *"
  221. ki "kill -9"
  222. ka "killall"
  223. kd "killall Discord && killall Discord && killall slack"
  224. kt "killall thunderbird"
  225. mp "mpv --volume=50"
  226. mra "man ranger"
  227. # mt "minetest"
  228. n "nvim"
  229. ndu "ncdu"
  230. p3 "python3"
  231. pdft "pdftotext"
  232. pipes "pipes.sh -t 3"
  233. py "python"
  234. qc "qalc ''"
  235. qcg "qalculate-gtk"
  236. r "ranger"
  237. rbg "ranger --selectfile (grep wallpaper ~/.cache/wal/colors.sh | cut -d\' -f2)"
  238. # rgc "printf '\033c' && rg"
  239. # rgc "printf '\033c' && rg"
  240. rgc "clear && tmux clear-history && rg"
  241. rx "redshift -x"
  242. sn "sudo nvim"
  243. ssh "mosh"
  244. stp "termdown"
  245. # sw "swex"
  246. t "tmux"#[[[
  247. ta "tmux a -t"
  248. tal "tmux a"
  249. tk "tmux kill-server"
  250. tl "tmux ls"
  251. tn "tmux new -s"
  252. tnc "tmux new -s config"
  253. tnj "tmux new -s journal"
  254. #]]]
  255. vmd "vimdiff"
  256. wg "wego"
  257. ytd "youtube-dl"
  258. z "zathura --fork"
  259. lz "unzip -l"
  260. # pass [[[ #
  261. ps "pass"
  262. psc "pass -c"
  263. pse "pass edit"
  264. psi "pass insert -m"
  265. psg "pass generate -c"
  266. pss "pass show"
  267. xc "xclip -selection clipboard"
  268. yh "echo 'kevin.mok@live.ca' | xclip -selection clipboard"
  269. yg "xclip -selection clipboard ~/.password-store/social/gmail"
  270. yt "xclip -selection clipboard ~/.password-store/social/trapbot"
  271. yu "echo 'kevin.mok@mail.utoronto.ca' | xclip -selection clipboard"
  272. # ]]] pass #
  273. # watson [[[ #
  274. w "watson"
  275. # start [[[ #
  276. wa "watson start"
  277. wae "watson start && watson edit"
  278. wad "watson add -f '' -t ''"
  279. we "watson edit"
  280. wre "watson restart"
  281. wree "watson restart && watson edit"
  282. # ]]] start #
  283. # stop [[[ #
  284. ws "watson status && watson stop"
  285. wse "watson stop && watson edit"
  286. wsc "watson cancel"
  287. wsl "watson stop && watson log --day"
  288. wt "watson status"
  289. # ]]] stop #
  290. # log/report [[[ #
  291. wl "watson log -Gcd"
  292. wla "watson log -Gca -T"
  293. ww "watson log -Gc"
  294. wr "watson report -Gcd"
  295. wra "watson report -Gca -T"
  296. wrw "watson report -Gc"
  297. # ]]] log/report #
  298. # ]]] watson #
  299. # ]]] applications #
  300. # git [[[ #
  301. g "git"
  302. gi "git init"
  303. gib "git init --bare"
  304. gstr "git config credential.helper store"
  305. gstrp "git config credential.helper store && git push"
  306. # branch [[[ #
  307. gb "git branch"
  308. gbd "git branch -D"
  309. gba "git branch --no-merged && echo '' && git branch --merged"
  310. gbu "git branch --no-merged"
  311. gbm "git branch --merged"
  312. gsm "git submodule add"
  313. gsmp "git submodule foreach git pull"
  314. gmg "git merge"
  315. gmgt "git mergetool"
  316. gr "git remote -v"
  317. gra "git remote add origin"
  318. grag "git remote add gitea git@ataraxy.tk:Kevin-Mok/.git"
  319. grr "git remote remove origin"
  320. grs "git remote show origin"
  321. gru "git branch --set-upstream-to=origin/master master"
  322. # ]]] branch #
  323. # add/remove [[[ #
  324. ga "git add -A && git status -u"
  325. gac "git add -A && git commit -S"
  326. gaf "git add -f"
  327. # unsigned commt
  328. gacu "git add -A && git commit"
  329. grm "git rm"
  330. grmf "git rm -f"
  331. grmc "git rm --cached"
  332. grmfc "git rm -f --cached"
  333. grmor "rm (fd -e orig --no-ignore -H)"
  334. # ]]] add/remove #
  335. # diff/log [[[ #
  336. gd "git diff -w"
  337. gdc "git diff --cached -w"
  338. gdh "git diff --cached -w HEAD~1"
  339. gds "git diff --stat"
  340. gdt "git difftool -w --tool=vimdiff"
  341. gdtc "git difftool -w --cached --tool=vimdiff"
  342. gl "git log"
  343. glm "git log master"
  344. gsl "git shortlog"
  345. # ]]] diff/log #
  346. # pull [[[ #
  347. gcln "git clone"
  348. gs "git status -u"
  349. gf "git fetch origin"
  350. gch "git checkout"
  351. gchn "git checkout -b"
  352. gchm "git checkout master"
  353. gchnw "git checkout -b wip"
  354. gchw "git checkout wip"
  355. gchfh "git checkout HEAD --"
  356. grom "git reset --hard origin/master"
  357. gheadm1 "git reset --hard HEAD~1"
  358. # show files in git repo
  359. # gls "git ls-tree -r HEAD --name-only"
  360. gls "git ls-tree HEAD --name-only"
  361. gchp "git cherry-pick"
  362. gchpc "git cherry-pick --continue"
  363. gst "git stash"
  364. gstl "git stash list"
  365. gstp "git stash pop"
  366. gsts "git stash show stash@\{0\} -p"
  367. gclear "git stash clear"
  368. gpl "git pull --rebase"
  369. grb "git rebase -i"
  370. grba "git rebase --abort"
  371. grbc "git rebase --continue"
  372. # ]]] pull #
  373. # push [[[ #
  374. gc "git commit -S"
  375. gcu "git commit"
  376. gca "git add -A && git commit --amend --no-edit -S"
  377. gcam "git add -A && git commit --amend -S"
  378. gcap "git add -A && git commit --amend --no-edit -S && gpsf"
  379. psgi "git add -A && git commit -m 'Update' -S && git push"
  380. gps "git push"
  381. gpsi "git config credential.helper store && git push"
  382. # gpsn "git push --set-upstream origin master"
  383. gpsn "eval (git push 2>&1 | tail -n 2)"
  384. gpsf "git push --force"
  385. # assume file unchanged
  386. gunc "git update-index --assume-unchanged"
  387. # ]]] push #
  388. # ]]] git #
  389. # coding projs [[[ #
  390. rgt "rg TODO"
  391. # make [[[ #
  392. ma "printf '\033c' && bear make"
  393. mc "bear make clean"
  394. mca "bear make clean && printf '\033c' && bear make"
  395. rmc "rm compile_commands.json"
  396. # ]]] make #
  397. # chezmoi [[[ #
  398. zm "chezmoi"
  399. za "chezmoi add"
  400. zar "chezmoi add -r"
  401. zd "chezmoi data"
  402. zdf "chezmoi diff"
  403. zp "chezmoi -v apply"
  404. # ]]] chezmoi #
  405. # spotify-lib-vis [[[ #
  406. # start spv server outside dir
  407. ssv "source ../bin/activate.fish && python manage.py runserver"
  408. # open spv db in psql
  409. spvdb "psql -d spotifyvis -U django"
  410. mig "python manage.py makemigrations && python manage.py migrate --run-syncdb && ssv"
  411. cldb "python manage.py flush --no-input && ssv"
  412. # django shell
  413. djs "python manage.py shell"
  414. # update pip
  415. upip "pip list --outdated --format=freeze | grep -v '^\-e' | cut -d = -f 1 | xargs -n1 pip install -U"
  416. # update pip req's.
  417. ureq "pip freeze > requirements.txt"
  418. # show last history scan
  419. hlg "tail -n 5 $spv_dir/src/api/management/commands/update-history.log"
  420. # scan history
  421. # hs "$spv_dir/src/update-history.sh && cat $spv_dir/src/api/management/commands/update-history.log | tail -n 1"
  422. # removes all but newest file
  423. # rmol "ls -t | tail -n +2 | xargs rm -- && l"
  424. snw "spotify-now -i '%artist - %title'"
  425. # ]]] spotify-lib-vis #
  426. shc "shellcheck"
  427. tll "tllocalmgr"
  428. tli "tllocalmgr install"
  429. # tlh "tllocalmgr texhash"
  430. pdl "pdflatex"
  431. tcl "tex-clean"
  432. # grocery-finder [[[ #
  433. wl0 "watson log --all --project=309 --tag=phase2"
  434. wr0 "watson report --all --project=309 --tag=phase2"
  435. # server [[[ #
  436. nd "node"
  437. ndm "nodemon"
  438. knd "killall node"
  439. mg "mongo"
  440. 0ht "cd ~/school/309-proj && python3 -m http.server"
  441. mgd "mongod --dbpath mongo-data"
  442. # nds "killall node && nodemon server.js"
  443. nds "nodemon server.js"
  444. # ]]] server #
  445. # heroku [[[ #
  446. hr "heroku"
  447. hrs "heroku local web"
  448. hrt "heroku ps"
  449. hrl "heroku logs --dyno web -n 1500 | rg up | awk '{ system(\"date -d \" \$1); \$1 = \"\"; print \$0 }' | paste -s -d' \n'"
  450. gpsh "git push heroku"
  451. 0c "node collections.js"
  452. # ]]] heroku #
  453. # ]]] 309 #
  454. # mfs [[[ #
  455. ht "python3 -m http.server"
  456. # j "jekyll"
  457. # js "jekyll serve"
  458. h "hugo"
  459. he "hugo serve -D --disableFastRender"
  460. # ]]] mfs #
  461. ssb "ssh-bandit"
  462. rt "python ~/coding/rt-scraper/!rt-scraper.py"
  463. # ada-mario [[[ #
  464. mm "printf '\033c' && bear make clean move_mouse_with_head && ./move_mouse_with_head"
  465. med "printf '\033c' && bear make clean eye_detector && ./eye_detector"
  466. mft "printf '\033c' && bear make clean face_detector && ./face_detector"
  467. rft "~/coding/face-tracker/face_detector > /tmp/move_mouse_with_head.out"
  468. gpsb "git push bitbucket"
  469. # ]]] ada-mario #
  470. sac "source ../../bin/activate.fish"
  471. dea "deactivate"
  472. whe "watch echo"
  473. vst "cp ~/Documents/workout-logs/stretching.md /tmp && nvim /tmp/stretching.md"
  474. # ]]] coding projs #
  475. # games [[[ #
  476. wlm "watson log --all --project=minetest"
  477. wrm "watson report --all --project=minetest"
  478. wamv "watson start minetest +video"
  479. mtg "minetest"
  480. ms "minetestserver"
  481. msc "minetestserver --gameid minetest --worldname Creative --terminal"
  482. # msh "minetestserver --gameid minetest --worldname Hevin --config ~/.minetest/hevin.conf --terminal"
  483. msh "minetestserver --gameid mineclone2 --worldname Hevin-MC --config ~/.minetest/hevin-mc.conf --terminal"
  484. mst "minetestserver --gameid minimal --worldname Test --terminal"
  485. # mtrsy "rsync -vr .minetest/ /mnt/linux-files/.minetest/"
  486. # ]]] games #
  487. # school [[[ #
  488. # basic
  489. # wlf "watson log --all --tag=final"
  490. # wrf "watson report --all --tag=final"
  491. ssc "mosh mokkar@teach.cs.utoronto.ca"
  492. # alg course
  493. jc "javac -d out *.java"
  494. jr "java -cp \"$CLASSPATH:out\""
  495. # 263
  496. wl6 "watson log --all --project=263 --tag=a5"
  497. wr6 "watson report --all --project=263 --tag=a5"
  498. z6 "zathura --fork ~/school/263/Introduction-to-Algorithms-CLRs/Introduction\ to\ Algorithms\ -\ 3rd\ Edition.pdf"
  499. pd6 "pdflatex a5"
  500. # ]]] school #