]>
git.rmz.io Git - dotfiles.git/blob - zsh/aliases/pacman.zsh
1 if (( ! $
+commands
[pacman
] )); then
5 # Pacman - https://wiki.archlinux.org/index.php/Pacman_Tips
6 alias pacupg
='sudo pacman -Syu' # Synchronize with repositories before upgrading packages that are out of date on the local system.
7 alias pacin
='sudo pacman -S' # Install specific package(s) from the repositories
8 alias pacu
='sudo pacman -U' # Install specific package not from the repositories but from a file
9 alias pacre
='sudo pacman -R' # Remove the specified package(s), retaining its configuration(s) and required dependencies
10 alias pacrem
='sudo pacman -Rns' # Remove the specified package(s) and unneeded dependencies
11 alias pacrm
='sudo pacman -Rnsc' # Remove the specified package(s), its configuration(s) and unneeded dependencies
12 alias pacsi
='pacman -Sii' # Display information about a given package in the repositories
13 alias pacss
='pacman -Ss' # Search for package(s) in the repositories
14 alias pacqi
='pacman -Qii' # Display information about a given package in the local database
15 alias pacqs
='pacman -Qs' # Search for package(s) in the local database
16 alias pacl
='pacman -Ql' # List all files owned by package(s)
17 alias paco
='pacman -Qo' # List package owning the given file(s)
18 alias pacdep
='sudo pacman -D --asdeps' # Mark package as dependency
19 alias pacexp
='sudo pacman -D --asexplicit' # Mark package as explicit
20 alias pacinsd
='sudo pacman -S --asdeps' # Install given package(s) as dependencies of another package
21 alias pacmir
='sudo pacman -Syy' # Force refresh of all package lists after updating /etc/pacman.d/mirrorlist
23 [[ -x /usr
/bin
/packer
]] && alias aur
='packer'
25 # https://bbs.archlinux.org/viewtopic.php?id=93683
27 pacman
-Qei "$@" | awk 'BEGIN {FS=": "}/^Name/{printf("\033[1;36m%s\033[0m ",$2)}/^Description/{print $2}'
31 local _count_pkg
=$(pacman -Qq | wc -l)
32 local _count_pkg_exp
=$(pacman -Qeq | wc -l)
33 local _pkgs
=( $(pacman -Qeq) )
34 for pkg
in ${_pkgs[@]}; do
35 # the file has been removed by a previous clean
36 pacman
-Qq $pkg 2>&1 1>/dev
/null
|| continue
38 pacman
-Qi $pkg | awk 'BEGIN {FS=": "}/^Name/{printf("\n\033[1;36m%s\033[0m ",$2)}/^Description/{print $2}/^(Required|Optional For)/'
42 echo -n "Explicit, Dependency, Remove, Quit? [Edrq] "
49 [Rr
]) sudo pacman
-Rnscu $pkg; break ;;
50 [Dd
]) sudo pacman
-D --asdeps $pkg; break ;;
54 local _count_pkg_after
=$(pacman -Qq | wc -l)
55 local _count_pkg_exp_after
=$(pacman -Qeq | wc -l)
56 local _delta_pkg
=$(($_count_pkg_after - $_count_pkg))
57 local _delta_pkg_exp
=$(($_count_pkg_exp_after - $_count_pkg_exp))
58 printf "\n %8s | %8s" "Packages" "Explicit"
59 printf "\nBefore | %8d | %8d" $_count_pkg $_count_pkg_exp
60 printf "\n After | %8d | %8d" $_count_pkg_after $_count_pkg_exp_after
61 printf "\n | %8d | %8d" $_delta_pkg $_delta_pkg_exp
65 alias paclo
='pacman -Qdt'
67 alias pacro
='sudo pacman -Rnscu $(pacman -Qtdq)'
69 # Display information about given packages (merges output of -Sii and -Qii)
72 if [[ -n "$(pacman -Qq "$p" 2>/dev/null)" ]]; then
73 diff -u100 <(pacman
-Qii "$p") <(pacman
-Sii "$p" | sed '/^$/,$ d') | sed -e '1,3 d' -e 's/[-+ ]//'
79 # will only work after another pacman completion has been called first
80 compdef
'_pacman_completions_all_packages' paci
=pacman
84 printf "%7d native\n" $(LC_ALL=C pacman -Qn | wc -l)
85 printf "%7d foreign\n" $(LC_ALL=C pacman -Qm | wc -l)
86 printf "%7d total\n" $(LC_ALL=C pacman -Q | wc -l)
88 LC_ALL
=C pacman
-Sl | sed -n '/\[installed\]/s/^\([^ ]*\).*/\1/p' | uniq -c
92 tmp
=${TMPDIR-/tmp}/pacman
-disowned-$UID-$$
97 trap 'rm -rf "$tmp"' EXIT
99 pacman
-Qlq | sort -u > "$db"
108 ! \
( -name lost
+found \
109 -o -path '*/local/*' \
110 -o -path "*/share/mime/*" \
112 \
( -type d
-printf '%p/\n' -o -print \
) | sort > "$fs"