Blame view

plugins/archlinux/archlinux.plugin.zsh 5.45 KB
093a6c34b   mj   Squashed 'repos/r...
1
2
3
4
  # 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.
61aaa7b58   mj   Squashed 'repos/r...
5
  if (( $+commands[yaourt] )); then
093a6c34b   mj   Squashed 'repos/r...
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
    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 -Syua'        # Synchronize with repositories before upgrading packages (AUR packages too) that are out of date on the local system.
    alias yasu='yaourt --sucre'      # Same as yaupg, but without confirmation
    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
    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
    # Additional yaourt alias examples
61aaa7b58   mj   Squashed 'repos/r...
24
    if (( $+commands[abs] && $+commands[aur] )); then
093a6c34b   mj   Squashed 'repos/r...
25
      alias yaupd='yaourt -Sy && sudo abs && sudo aur'  # Update and refresh the local package, ABS and AUR databases against repositories
61aaa7b58   mj   Squashed 'repos/r...
26
    elif (( $+commands[abs] )); then
093a6c34b   mj   Squashed 'repos/r...
27
      alias yaupd='yaourt -Sy && sudo abs'   # Update and refresh the local package and ABS databases against repositories
61aaa7b58   mj   Squashed 'repos/r...
28
    elif (( $+commands[aur] )); then
093a6c34b   mj   Squashed 'repos/r...
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
      alias yaupd='yaourt -Sy && sudo aur'   # Update and refresh the local package and AUR databases against repositories
    else
      alias yaupd='yaourt -Sy'               # Update and refresh the local package database 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
  alias pacins='sudo pacman -U'          # Install specific package not from the repositories but from a file
  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
61aaa7b58   mj   Squashed 'repos/r...
52
  if (( $+commands[abs] && $+commands[aur] )); then
093a6c34b   mj   Squashed 'repos/r...
53
    alias pacupd='sudo pacman -Sy && sudo abs && sudo aur'  # Update and refresh the local package, ABS and AUR databases against repositories
61aaa7b58   mj   Squashed 'repos/r...
54
  elif (( $+commands[abs] )); then
093a6c34b   mj   Squashed 'repos/r...
55
    alias pacupd='sudo pacman -Sy && sudo abs'              # Update and refresh the local package and ABS databases against repositories
61aaa7b58   mj   Squashed 'repos/r...
56
  elif (( $+commands[aur] )); then
093a6c34b   mj   Squashed 'repos/r...
57
58
59
60
61
62
63
64
65
    alias pacupd='sudo pacman -Sy && sudo aur'              # Update and refresh the local package and AUR databases against repositories
  else
    alias pacupd='sudo pacman -Sy'     # Update and refresh the local package database against repositories
  fi
  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() {
238d8e65a   mj   Squashed 'repos/r...
66
    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}'
093a6c34b   mj   Squashed 'repos/r...
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
  }
  
  alias paclsorphans='sudo pacman -Qdt'
  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/
  ' -o -print \) | sort > "$fs"
  
    comm -23 "$fs" "$db"
  }
  
  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
  3
  ' | sudo gpg --homedir /etc/pacman.d/gnupg \
        --no-permission-warning --command-fd 0 --edit-key $key
    done
  }