Parent directory

archlinux.plugin.zsh

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