]> git.rmz.io Git - dotfiles.git/blob - zsh/aliases/pacman.zsh
add function to show merged output of pacman -{S,Q}ii
[dotfiles.git] / zsh / aliases / pacman.zsh
1 # Pacman - https://wiki.archlinux.org/index.php/Pacman_Tips
2 alias pacupg='sudo pacman -Syu' # Synchronize with repositories before upgrading packages that are out of date on the local system.
3 alias pacin='sudo pacman -S' # Install specific package(s) from the repositories
4 alias pacu='sudo pacman -U' # Install specific package not from the repositories but from a file
5 alias pacre='sudo pacman -R' # Remove the specified package(s), retaining its configuration(s) and required dependencies
6 alias pacrem='sudo pacman -Rns' # Remove the specified package(s), its configuration(s) and unneeded dependencies
7 alias pacrm='sudo pacman -Rnsc' # Remove the specified package(s), its configuration(s) and unneeded dependencies
8 alias pacsi='pacman -Sii' # Display information about a given package in the repositories
9 alias pacss='pacman -Ss' # Search for package(s) in the repositories
10 alias pacqi='pacman -Qii' # Display information about a given package in the local database
11 alias pacqs='pacman -Qs' # Search for package(s) in the local database
12 alias pacinsd='sudo pacman -S --asdeps' # Install given package(s) as dependencies of another package
13 alias pacmir='sudo pacman -Syy' # Force refresh of all package lists after updating /etc/pacman.d/mirrorlist
14
15 # https://bbs.archlinux.org/viewtopic.php?id=93683
16 paclist() {
17 pacman -Qei | awk 'BEGIN {FS=": "}/^Name/{printf("\033[1;36m%s\033[0m ",$2)}/^Description/{print $2}'
18 }
19 # [l]ist [o]orphans
20 alias paclo='sudo pacman -Qdt'
21 # [r]emove [o]orphans
22 alias pacro='sudo pacman -Rnscu $(pacman -Qtdq)'
23
24 # Display information about given packages (merges output of -Sii and -Qii)
25 paci() {
26 for p in $@; do
27 if [[ -n "$(pacman -Qq "$p" 2>/dev/null)" ]]; then
28 diff -u100 <(pacman -Qii "$p") <(pacman -Sii "$p" | sed '/^$/,$ d') | sed -e '1,3 d' -e 's/[-+ ]//'
29 else
30 pacman -Sii "$p"
31 fi
32 done
33 }
34
35 pacdisowned() {
36 tmp=${TMPDIR-/tmp}/pacman-disowned-$UID-$$
37 db=$tmp/db
38 fs=$tmp/fs
39
40 mkdir "$tmp"
41 trap 'rm -rf "$tmp"' EXIT
42
43 pacman -Qlq | sort -u > "$db"
44
45 find /bin /etc /lib /sbin /usr \
46 ! -name lost+found \
47 \( -type d -printf '%p/\n' -o -print \) | sort > "$fs"
48
49 comm -23 "$fs" "$db"
50 }