This commit is contained in:
Andrey Anurin
2016-05-16 23:46:33 -07:00
commit 916d13f93e
412 changed files with 37846 additions and 0 deletions

View File

@@ -0,0 +1,65 @@
Pacman
======
Provides aliases and functions for the [Pacman][1] package manager and
frontends.
Settings
--------
To enable a Pacman frontend, for example, [Yaourt][2], add the following line to
*zpreztorc*:
zstyle ':prezto:module:pacman' frontend 'yaourt'
If you have enabled color globally in *zpreztorc*, you may disable it for certain
commands.
To disable `yaourt` highlighting, add the following line to *zpreztorc*:
zstyle ':prezto:module:pacman:yaourt' color 'no'
Aliases
-------
### Pacman
- `pac` is short for `pacman`.
- `paci` installs packages from repositories.
- `pacI` installs packages from files.
- `pacx` removes packages and unneeded dependencies.
- `pacX` removes packages, their configuration, and unneeded dependencies.
- `pacq` displays information about a package from the repositories.
- `pacQ` displays information about a package from the local database.
- `pacs` searches for packages in the repositories.
- `pacS` searches for packages in the local database.
- `pacu` synchronizes the local package and Arch Build System (requires `abs`)
databases against the repositories.
- `pacU` synchronizes the local package database against the repositories then
upgrades outdated packages.
- `pacman-list-orphans` lists orphan packages.
- `pacman-remove-orphans` removes orphan packages.
### Frontends
#### Yaourt
- `pacc` manages *.pac\** files.
Functions
---------
- `pacman-list-explicit` lists explicitly installed pacman packages.
- `pacman-list-disowned` lists pacman disowned files.
Authors
-------
*The authors of this module should be contacted via the [issue tracker][3].*
- [Benjamin Boudreau](https://github.com/dreur)
- [Sorin Ionescu](https://github.com/sorin-ionescu)
[1]: http://www.archlinux.org/pacman/
[2]: http://archlinux.fr/yaourt-en
[3]: https://github.com/sorin-ionescu/prezto/issues

View File

@@ -0,0 +1,22 @@
#
# Lists Pacman disowned files.
#
# Authors:
# Benjamin Boudreau <dreurmail@gmail.com>
# Sorin Ionescu <sorin.ionescu@gmail.com>
#
local tmp="${TMPDIR:-/tmp}/pacman-disowned-$UID-$$"
local db="$tmp/db"
local fs="$tmp/fs"
mkdir "$tmp"
trap 'rm -rf "$tmp"' EXIT
pacman --quiet --query --list | sort --unique > "$db"
find /bin /etc /lib /sbin /usr \
! -name lost+found \
\( -type d -printf '%p/\n' -o -print \) | sort > "$fs"
comm -23 "$fs" "$db"

View File

@@ -0,0 +1,20 @@
#
# Lists explicitly installed Pacman packages.
#
# Authors:
# Benjamin Boudreau <dreurmail@gmail.com>
# Sorin Ionescu <sorin.ionescu@gmail.com>
#
pacman --query --explicit --info \
| awk '
BEGIN {
FS=":"
}
/^Name/ {
print $2
}
/^Description/ {
print $2
}
'

View File

@@ -0,0 +1,84 @@
#
# Defines Pacman aliases.
#
# Authors:
# Benjamin Boudreau <dreurmail@gmail.com>
# Sorin Ionescu <sorin.ionescu@gmail.com>
#
# Tips:
# https://wiki.archlinux.org/index.php/Pacman_Tips
#
# Return if requirements are not found.
if (( ! $+commands[pacman] )); then
return 1
fi
#
# Frontend
#
# Get the Pacman frontend.
zstyle -s ':prezto:module:pacman' frontend '_pacman_frontend'
if (( $+commands[$_pacman_frontend] )); then
alias pacman="$_pacman_frontend"
if [[ -s "${0:h}/${_pacman_frontend}.zsh" ]]; then
source "${0:h}/${_pacman_frontend}.zsh"
fi
else
_pacman_frontend='pacman'
_pacman_sudo='sudo '
fi
#
# Aliases
#
# Pacman.
alias pac="${_pacman_frontend}"
# Installs packages from repositories.
alias paci="${_pacman_sudo}${_pacman_frontend} --sync"
# Installs packages from files.
alias pacI="${_pacman_sudo}${_pacman_frontend} --upgrade"
# Removes packages and unneeded dependencies.
alias pacx="${_pacman_sudo}${_pacman_frontend} --remove"
# Removes packages, their configuration, and unneeded dependencies.
alias pacX="${_pacman_sudo}${_pacman_frontend} --remove --nosave --recursive"
# Displays information about a package from the repositories.
alias pacq="${_pacman_frontend} --sync --info"
# Displays information about a package from the local database.
alias pacQ="${_pacman_frontend} --query --info"
# Searches for packages in the repositories.
alias pacs="${_pacman_frontend} --sync --search"
# Searches for packages in the local database.
alias pacS="${_pacman_frontend} --query --search"
# Lists orphan packages.
alias pacman-list-orphans="${_pacman_sudo}${_pacman_frontend} --query --deps --unrequired"
# Removes orphan packages.
alias pacman-remove-orphans="${_pacman_sudo}${_pacman_frontend} --remove --recursive \$(${_pacman_frontend} --quiet --query --deps --unrequired)"
# Synchronizes the local package and Arch Build System databases against the
# repositories.
if (( $+commands[abs] )); then
alias pacu="${_pacman_sudo}${_pacman_frontend} --sync --refresh && sudo abs"
else
alias pacu="${_pacman_sudo}${_pacman_frontend} --sync --refresh"
fi
# Synchronizes the local package database against the repositories then
# upgrades outdated packages.
alias pacU="${_pacman_sudo}${_pacman_frontend} --sync --refresh --sysupgrade"
unset _pacman_{frontend,sudo}

View File

@@ -0,0 +1,18 @@
#
# Defines Yaourt aliases.
#
# Authors:
# Sorin Ionescu <sorin.ionescu@gmail.com>
#
#
# Aliases
#
# Disable color.
if ! zstyle -t ':prezto:module:pacman:yaourt' color; then
alias pacman='yaourt --nocolor'
fi
# Manages .pac* files.
alias pacc='yaourt -C'