diff --git a/plugins/archlinux/archlinux.plugin.zsh b/plugins/archlinux/archlinux.plugin.zsh index b5e519036..22c8d5b90 100644 --- a/plugins/archlinux/archlinux.plugin.zsh +++ b/plugins/archlinux/archlinux.plugin.zsh @@ -1,36 +1,6 @@ # Archlinux zsh aliases and functions # Usage is also described at https://github.com/robbyrussell/oh-my-zsh/wiki/Plugins -# Look for yaourt, and add some useful functions if we have it. -if [[ -x `which yaourt` ]]; then - upgrade () { - yaourt -Syu - } - alias yaconf='yaourt -C' # Fix all configuration files with vimdiff - # Pacman - https://wiki.archlinux.org/index.php/Pacman_Tips - alias yaupg='yaourt -Syu' # Synchronize with repositories before upgrading packages that are out of date on the local system. - alias yain='yaourt -S' # Install specific package(s) from the repositories - alias yains='yaourt -U' # Install specific package not from the repositories but from a file - 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 - # Additional yaourt alias examples - if [[ -x `which abs` ]]; then - alias yaupd='yaourt -Sy && sudo abs' # Update and refresh the local package and ABS databases against repositories - else - alias yaupd='yaourt -Sy' # Update and refresh the local package and ABS databases against repositories - 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 -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 @@ -52,12 +22,13 @@ alias pacmir='sudo pacman -Syy' # Force refresh of all package li # https://bbs.archlinux.org/viewtopic.php?id=93683 paclist() { - sudo pacman -Qei $(pacman -Qu|cut -d" " -f 1)|awk ' BEGIN {FS=":"}/^Name/{printf("\033[1;36m%s\033[1;37m", $2)}/^Description/{print $2}' + [[ -x $(which expac) ]] && expac "${fg[cyan]}%n${fg[green]}: ${reset_color}%d" || ( + read -p "You don't have 'expac' installed, install? [y,N]" install_expac + # fixme! + echo "Sorry, this isn't yet implemented, please run 'pacman -S expac' manually! (fixme!)" + ) } -alias paclsorphans='sudo pacman -Qdt' -alias pacrmorphans='sudo pacman -Rs $(pacman -Qtdq)' - pacdisowned() { tmp=${TMPDIR-/tmp}/pacman-disowned-$UID-$$ db=$tmp/db @@ -74,3 +45,12 @@ pacdisowned() { comm -23 "$fs" "$db" } + +pacman() { + pacman_bin=${commands[pacman-color]:-/usr/bin/pacman} + sudo_bin==sudo + case $1 in + -S | -S[^sih]* | -R* | -U*) $sudo_bin /bin/su -c"$pacman_bin \"$@\"" ;; + *) $pacman_bin "$@" ;; + esac +} \ No newline at end of file