archlinux.plugin.zsh 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205
  1. #######################################
  2. # Pacman #
  3. #######################################
  4. # Pacman - https://wiki.archlinux.org/index.php/Pacman_Tips
  5. alias pacupg='sudo pacman -Syu'
  6. alias pacin='sudo pacman -S'
  7. alias paclean='sudo pacman -Sc'
  8. alias pacins='sudo pacman -U'
  9. alias paclr='sudo pacman -Scc'
  10. alias pacre='sudo pacman -R'
  11. alias pacrem='sudo pacman -Rns'
  12. alias pacrep='pacman -Si'
  13. alias pacreps='pacman -Ss'
  14. alias pacloc='pacman -Qi'
  15. alias paclocs='pacman -Qs'
  16. alias pacinsd='sudo pacman -S --asdeps'
  17. alias pacmir='sudo pacman -Syy'
  18. alias paclsorphans='sudo pacman -Qdt'
  19. alias pacrmorphans='sudo pacman -Rs $(pacman -Qtdq)'
  20. alias pacfileupg='sudo pacman -Fy'
  21. alias pacfiles='pacman -F'
  22. alias pacls='pacman -Ql'
  23. alias pacown='pacman -Qo'
  24. alias pacupd="sudo pacman -Sy"
  25. function paclist() {
  26. # Based on https://bbs.archlinux.org/viewtopic.php?id=93683
  27. pacman -Qqe | \
  28. xargs -I '{}' \
  29. expac "${bold_color}% 20n ${fg_no_bold[white]}%d${reset_color}" '{}'
  30. }
  31. function pacdisowned() {
  32. local tmp db fs
  33. tmp=${TMPDIR-/tmp}/pacman-disowned-$UID-$$
  34. db=$tmp/db
  35. fs=$tmp/fs
  36. mkdir "$tmp"
  37. trap 'rm -rf "$tmp"' EXIT
  38. pacman -Qlq | sort -u > "$db"
  39. find /bin /etc /lib /sbin /usr ! -name lost+found \
  40. \( -type d -printf '%p/\n' -o -print \) | sort > "$fs"
  41. comm -23 "$fs" "$db"
  42. }
  43. alias pacmanallkeys='sudo pacman-key --refresh-keys'
  44. function pacmansignkeys() {
  45. local key
  46. for key in $@; do
  47. sudo pacman-key --recv-keys $key
  48. sudo pacman-key --lsign-key $key
  49. printf 'trust\n3\n' | sudo gpg --homedir /etc/pacman.d/gnupg \
  50. --no-permission-warning --command-fd 0 --edit-key $key
  51. done
  52. }
  53. if (( $+commands[xdg-open] )); then
  54. function pacweb() {
  55. if [[ $# = 0 || "$1" =~ '--help|-h' ]]; then
  56. local underline_color="\e[${color[underline]}m"
  57. echo "$0 - open the website of an ArchLinux package"
  58. echo
  59. echo "Usage:"
  60. echo " $bold_color$0$reset_color ${underline_color}target${reset_color}"
  61. return 1
  62. fi
  63. local pkg="$1"
  64. local infos="$(LANG=C pacman -Si "$pkg")"
  65. if [[ -z "$infos" ]]; then
  66. return
  67. fi
  68. local repo="$(grep -m 1 '^Repo' <<< "$infos" | grep -oP '[^ ]+$')"
  69. local arch="$(grep -m 1 '^Arch' <<< "$infos" | grep -oP '[^ ]+$')"
  70. xdg-open "https://www.archlinux.org/packages/$repo/$arch/$pkg/" &>/dev/null
  71. }
  72. fi
  73. #######################################
  74. # AUR helpers #
  75. #######################################
  76. if (( $+commands[aura] )); then
  77. alias auin='sudo aura -S'
  78. alias aurin='sudo aura -A'
  79. alias auclean='sudo aura -Sc'
  80. alias auclr='sudo aura -Scc'
  81. alias auins='sudo aura -U'
  82. alias auinsd='sudo aura -S --asdeps'
  83. alias aurinsd='sudo aura -A --asdeps'
  84. alias auloc='aura -Qi'
  85. alias aulocs='aura -Qs'
  86. alias aulst='aura -Qe'
  87. alias aumir='sudo aura -Syy'
  88. alias aurph='sudo aura -Oj'
  89. alias aure='sudo aura -R'
  90. alias aurem='sudo aura -Rns'
  91. alias aurep='aura -Si'
  92. alias aurrep='aura -Ai'
  93. alias aureps='aura -As --both'
  94. alias auras='aura -As --both'
  95. alias auupd="sudo aura -Sy"
  96. alias auupg='sudo sh -c "aura -Syu && aura -Au"'
  97. alias ausu='sudo sh -c "aura -Syu --no-confirm && aura -Au --no-confirm"'
  98. # extra bonus specially for aura
  99. alias auown="aura -Qqo"
  100. alias auls="aura -Qql"
  101. function auownloc() { aura -Qi $(aura -Qqo $@); }
  102. function auownls () { aura -Qql $(aura -Qqo $@); }
  103. fi
  104. if (( $+commands[pacaur] )); then
  105. alias pacclean='pacaur -Sc'
  106. alias pacclr='pacaur -Scc'
  107. alias paupg='pacaur -Syu'
  108. alias pasu='pacaur -Syu --noconfirm'
  109. alias pain='pacaur -S'
  110. alias pains='pacaur -U'
  111. alias pare='pacaur -R'
  112. alias parem='pacaur -Rns'
  113. alias parep='pacaur -Si'
  114. alias pareps='pacaur -Ss'
  115. alias paloc='pacaur -Qi'
  116. alias palocs='pacaur -Qs'
  117. alias palst='pacaur -Qe'
  118. alias paorph='pacaur -Qtd'
  119. alias painsd='pacaur -S --asdeps'
  120. alias pamir='pacaur -Syy'
  121. alias paupd="pacaur -Sy"
  122. fi
  123. if (( $+commands[trizen] )); then
  124. alias trconf='trizen -C'
  125. alias trupg='trizen -Syua'
  126. alias trsu='trizen -Syua --noconfirm'
  127. alias trin='trizen -S'
  128. alias trclean='trizen -Sc'
  129. alias trclr='trizen -Scc'
  130. alias trins='trizen -U'
  131. alias trre='trizen -R'
  132. alias trrem='trizen -Rns'
  133. alias trrep='trizen -Si'
  134. alias trreps='trizen -Ss'
  135. alias trloc='trizen -Qi'
  136. alias trlocs='trizen -Qs'
  137. alias trlst='trizen -Qe'
  138. alias trorph='trizen -Qtd'
  139. alias trinsd='trizen -S --asdeps'
  140. alias trmir='trizen -Syy'
  141. alias trupd="trizen -Sy"
  142. fi
  143. if (( $+commands[yay] )); then
  144. alias yaconf='yay -Pg'
  145. alias yaclean='yay -Sc'
  146. alias yaclr='yay -Scc'
  147. alias yaupg='yay -Syu'
  148. alias yasu='yay -Syu --noconfirm'
  149. alias yain='yay -S'
  150. alias yains='yay -U'
  151. alias yare='yay -R'
  152. alias yarem='yay -Rns'
  153. alias yarep='yay -Si'
  154. alias yareps='yay -Ss'
  155. alias yaloc='yay -Qi'
  156. alias yalocs='yay -Qs'
  157. alias yalst='yay -Qe'
  158. alias yaorph='yay -Qtd'
  159. alias yainsd='yay -S --asdeps'
  160. alias yamir='yay -Syy'
  161. alias yaupd="yay -Sy"
  162. fi
  163. # Check Arch Linux PGP Keyring before System Upgrade to prevent failure.
  164. function upgrade() {
  165. echo "[oh-my-zsh] Checking Arch Linux PGP Keyring"
  166. local installedver="$(sudo pacman -Qi archlinux-keyring | grep -Po '(?<=Version : ).*')"
  167. local currentver="$(sudo pacman -Si archlinux-keyring | grep -Po '(?<=Version : ).*')"
  168. if [ $installedver != $currentver ]; then
  169. echo "[oh-my-zsh] Arch Linux PGP Keyring is out of date."
  170. echo "[oh-my-zsh] Updating before full system upgrade."
  171. sudo pacman -Syu --needed --noconfirm archlinux-keyring
  172. else
  173. echo "[oh-my-zsh] Arch Linux PGP Keyring is up to date."
  174. fi
  175. echo "[oh-mh-zsh] Proceeding with full system upgrade."
  176. if (( $+commands[yay] )); then
  177. yay -Syu
  178. elif (( $+commands[trizen] )); then
  179. trizen -Syu
  180. elif (( $+commands[pacaur] )); then
  181. pacaur -Syu
  182. elif (( $+commands[aura] )); then
  183. sudo aura -Syu
  184. else
  185. sudo pacman -Syu
  186. fi
  187. }