2011-07-23 15:22:39 +00:00
|
|
|
# Archlinux zsh aliases and functions
|
|
|
|
# Usage is also described at https://github.com/robbyrussell/oh-my-zsh/wiki/Plugins
|
2011-07-16 22:42:09 +00:00
|
|
|
|
|
|
|
# Look for yaourt, and add some useful functions if we have it.
|
2015-10-31 23:21:26 +00:00
|
|
|
if (( $+commands[yaourt] )); then
|
2011-07-16 22:42:09 +00:00
|
|
|
upgrade () {
|
2011-07-23 15:22:39 +00:00
|
|
|
yaourt -Syu
|
2011-07-16 22:42:09 +00:00
|
|
|
}
|
2011-07-23 15:22:39 +00:00
|
|
|
alias yaconf='yaourt -C' # Fix all configuration files with vimdiff
|
2011-07-16 22:42:09 +00:00
|
|
|
# Pacman - https://wiki.archlinux.org/index.php/Pacman_Tips
|
2013-04-14 11:08:03 +00:00
|
|
|
alias yaupg='yaourt -Syua' # Synchronize with repositories before upgrading packages (AUR packages too) that are out of date on the local system.
|
2011-10-25 07:53:59 +00:00
|
|
|
alias yasu='yaourt --sucre' # Same as yaupg, but without confirmation
|
2011-07-23 15:22:39 +00:00
|
|
|
alias yain='yaourt -S' # Install specific package(s) from the repositories
|
2012-12-02 19:55:19 +00:00
|
|
|
alias yains='yaourt -U' # Install specific package not from the repositories but from a file
|
2011-07-23 15:22:39 +00:00
|
|
|
alias yare='yaourt -R' # Remove the specified package(s), retaining its configuration(s) and required dependencies
|
|
|
|
alias yarem='yaourt -Rns' # Remove the specified package(s), its configuration(s) and unneeded dependencies
|
|
|
|
alias yarep='yaourt -Si' # Display information about a given package in the repositories
|
|
|
|
alias yareps='yaourt -Ss' # Search for package(s) in the repositories
|
|
|
|
alias yaloc='yaourt -Qi' # Display information about a given package in the local database
|
|
|
|
alias yalocs='yaourt -Qs' # Search for package(s) in the local database
|
2013-04-14 11:08:03 +00:00
|
|
|
alias yalst='yaourt -Qe' # List installed packages, even those installed from AUR (they're tagged as "local")
|
|
|
|
alias yaorph='yaourt -Qtd' # Remove orphans using yaourt
|
2011-07-16 22:42:09 +00:00
|
|
|
# Additional yaourt alias examples
|
2015-10-31 23:21:26 +00:00
|
|
|
if (( $+commands[abs] && $+commands[aur] )); then
|
2014-08-09 00:04:28 +00:00
|
|
|
alias yaupd='yaourt -Sy && sudo abs && sudo aur' # Update and refresh the local package, ABS and AUR databases against repositories
|
2015-10-31 23:21:26 +00:00
|
|
|
elif (( $+commands[abs] )); then
|
2011-07-23 15:22:39 +00:00
|
|
|
alias yaupd='yaourt -Sy && sudo abs' # Update and refresh the local package and ABS databases against repositories
|
2015-10-31 23:21:26 +00:00
|
|
|
elif (( $+commands[aur] )); then
|
2014-08-09 00:04:28 +00:00
|
|
|
alias yaupd='yaourt -Sy && sudo aur' # Update and refresh the local package and AUR databases against repositories
|
2011-07-23 15:22:39 +00:00
|
|
|
else
|
2014-08-09 00:04:28 +00:00
|
|
|
alias yaupd='yaourt -Sy' # Update and refresh the local package database against repositories
|
2011-07-23 15:22:39 +00:00
|
|
|
fi
|
|
|
|
alias yainsd='yaourt -S --asdeps' # Install given package(s) as dependencies of another package
|
|
|
|
alias yamir='yaourt -Syy' # Force refresh of all package lists after updating /etc/pacman.d/mirrorlist
|
2011-07-16 22:42:09 +00:00
|
|
|
else
|
|
|
|
upgrade() {
|
|
|
|
sudo pacman -Syu
|
|
|
|
}
|
|
|
|
fi
|
|
|
|
|
|
|
|
# Pacman - https://wiki.archlinux.org/index.php/Pacman_Tips
|
|
|
|
alias pacupg='sudo pacman -Syu' # Synchronize with repositories before upgrading packages that are out of date on the local system.
|
|
|
|
alias pacin='sudo pacman -S' # Install specific package(s) from the repositories
|
2012-12-02 19:55:19 +00:00
|
|
|
alias pacins='sudo pacman -U' # Install specific package not from the repositories but from a file
|
2011-07-16 22:42:09 +00:00
|
|
|
alias pacre='sudo pacman -R' # Remove the specified package(s), retaining its configuration(s) and required dependencies
|
|
|
|
alias pacrem='sudo pacman -Rns' # Remove the specified package(s), its configuration(s) and unneeded dependencies
|
|
|
|
alias pacrep='pacman -Si' # Display information about a given package in the repositories
|
|
|
|
alias pacreps='pacman -Ss' # Search for package(s) in the repositories
|
|
|
|
alias pacloc='pacman -Qi' # Display information about a given package in the local database
|
|
|
|
alias paclocs='pacman -Qs' # Search for package(s) in the local database
|
|
|
|
# Additional pacman alias examples
|
2015-10-31 23:21:26 +00:00
|
|
|
if (( $+commands[abs] && $+commands[aur] )); then
|
2014-08-09 00:04:28 +00:00
|
|
|
alias pacupd='sudo pacman -Sy && sudo abs && sudo aur' # Update and refresh the local package, ABS and AUR databases against repositories
|
2015-10-31 23:21:26 +00:00
|
|
|
elif (( $+commands[abs] )); then
|
2014-08-09 00:04:28 +00:00
|
|
|
alias pacupd='sudo pacman -Sy && sudo abs' # Update and refresh the local package and ABS databases against repositories
|
2015-10-31 23:21:26 +00:00
|
|
|
elif (( $+commands[aur] )); then
|
2014-08-09 00:04:28 +00:00
|
|
|
alias pacupd='sudo pacman -Sy && sudo aur' # Update and refresh the local package and AUR databases against repositories
|
2011-07-23 15:22:39 +00:00
|
|
|
else
|
2014-08-09 00:04:28 +00:00
|
|
|
alias pacupd='sudo pacman -Sy' # Update and refresh the local package database against repositories
|
2011-07-23 15:22:39 +00:00
|
|
|
fi
|
2011-07-16 22:42:09 +00:00
|
|
|
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
|
|
|
|
|
|
|
|
# https://bbs.archlinux.org/viewtopic.php?id=93683
|
|
|
|
paclist() {
|
2014-08-01 19:32:38 +00:00
|
|
|
LC_ALL=C pacman -Qei $(pacman -Qu|cut -d" " -f 1)|awk ' BEGIN {FS=":"}/^Name/{printf("\033[1;36m%s\033[1;37m", $2)}/^Description/{print $2}'
|
2011-07-16 22:42:09 +00:00
|
|
|
}
|
2011-07-20 02:38:29 +00:00
|
|
|
|
|
|
|
alias paclsorphans='sudo pacman -Qdt'
|
2011-07-16 22:42:09 +00:00
|
|
|
alias pacrmorphans='sudo pacman -Rs $(pacman -Qtdq)'
|
|
|
|
|
|
|
|
pacdisowned() {
|
|
|
|
tmp=${TMPDIR-/tmp}/pacman-disowned-$UID-$$
|
|
|
|
db=$tmp/db
|
|
|
|
fs=$tmp/fs
|
|
|
|
|
|
|
|
mkdir "$tmp"
|
|
|
|
trap 'rm -rf "$tmp"' EXIT
|
|
|
|
|
|
|
|
pacman -Qlq | sort -u > "$db"
|
|
|
|
|
|
|
|
find /bin /etc /lib /sbin /usr \
|
|
|
|
! -name lost+found \
|
|
|
|
\( -type d -printf '%p/\n' -o -print \) | sort > "$fs"
|
|
|
|
|
|
|
|
comm -23 "$fs" "$db"
|
|
|
|
}
|
2012-12-02 19:55:19 +00:00
|
|
|
|
|
|
|
pacmanallkeys() {
|
|
|
|
# Get all keys for developers and trusted users
|
|
|
|
curl https://www.archlinux.org/{developers,trustedusers}/ |
|
|
|
|
awk -F\" '(/pgp.mit.edu/) {sub(/.*search=0x/,"");print $1}' |
|
|
|
|
xargs sudo pacman-key --recv-keys
|
|
|
|
}
|
|
|
|
|
|
|
|
pacmansignkeys() {
|
|
|
|
for key in $*; do
|
|
|
|
sudo pacman-key --recv-keys $key
|
|
|
|
sudo pacman-key --lsign-key $key
|
|
|
|
printf 'trust\n3\n' | sudo gpg --homedir /etc/pacman.d/gnupg \
|
|
|
|
--no-permission-warning --command-fd 0 --edit-key $key
|
|
|
|
done
|
|
|
|
}
|