X-Git-Url: https://git.rmz.io/dotfiles.git/blobdiff_plain/a66facb05bafe6b2090f0f74ee569cfa9be7f6c0..a8dd48ddfc1f286ebfd45690dba32d87d16b1261:/zsh/aliases/pacman.zsh diff --git a/zsh/aliases/pacman.zsh b/zsh/aliases/pacman.zsh index ad6e9c5..af0dc9e 100644 --- a/zsh/aliases/pacman.zsh +++ b/zsh/aliases/pacman.zsh @@ -9,6 +9,10 @@ alias pacsi='pacman -Sii' # Display information about a given packa alias pacss='pacman -Ss' # Search for package(s) in the repositories alias pacqi='pacman -Qii' # Display information about a given package in the local database alias pacqs='pacman -Qs' # Search for package(s) in the local database +alias pacl='pacman -Ql' # List all files owned by package(s) +alias paco='pacman -Qo' # List package owning the given file(s) +alias pacdep='sudo pacman -D --asdeps' # Mark package as dependency +alias pacexp='sudo pacman -D --asexplicit' # Mark package as explicit alias pacinsd='sudo pacman -S --asdeps' # Install given package(s) as dependencies of another package alias pacmir='sudo pacman -Syy' # Force refresh of all package lists after updating /etc/pacman.d/mirrorlist @@ -21,6 +25,17 @@ alias paclo='sudo pacman -Qdt' # [r]emove [o]orphans alias pacro='sudo pacman -Rnscu $(pacman -Qtdq)' +# Display information about given packages (merges output of -Sii and -Qii) +paci() { + for p in $@; do + if [[ -n "$(pacman -Qq "$p" 2>/dev/null)" ]]; then + diff -u100 <(pacman -Qii "$p") <(pacman -Sii "$p" | sed '/^$/,$ d') | sed -e '1,3 d' -e 's/[-+ ]//' + else + pacman -Sii "$p" + fi + done +} + pacdisowned() { tmp=${TMPDIR-/tmp}/pacman-disowned-$UID-$$ db=$tmp/db