Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

An AUR helper and more

AUR version AUR bin version GitHub GitHub contributors

Yup helps you install packages with ease on Arch Linux


  • Searching with yup [search-terms] returns most accurate results

  • Uses ncurses to display search results. This allows for mouse interaction in the terminal and easier navigation. asciicast

  • Don't want to use ncurses? Use yup -n to use non-ncurses mode

  • Want to search the AUR exclusively? Use yup -a

  • Like yay, type yup to run a system upgrade.

  • An easy to use config file located at ~/.config/yup/config.json in JSON format.

  • Want to see which packages are cluttering up your system? Run yup -Qos to get a list ordered package size.


  • Config file found at ~/.config/yup/config.json.
  • The config file has the following options:
      	SortMode:         "closest"|"none", # changes how results are sorted (more to come)
      	Ncurses:          bool, # Whether to default to ncurses or not (override by -n)
      	Update:           bool, # Whether to update the pacman repos before every sync command
      	PrintPkg:         bool, # Whether to print the PKGBUILD before install (for AUR)
      	AskPkg:           bool, # Whether to ask to edit PKGBUILD before install (only if PrintPkg is true)
      	AskRedo:          bool, # Whether to ask if you want to reselect packages before install
      	SilentUpdate:     bool, # Whether you want to be asked to edit PKGBUILD during system update (overrides PrintPkg)
      	PacmanLimit:      int,  # The number of packages parsed from pacman to be sorted and searched
      	AurLimit:         int,  # The number of packages parsed from the AUR to be sorted and searched
      	VimKeybindings:   bool, # Enabling Vim keybindings (j and k keys to go up and down)


    yup                 Updates AUR and pacman packages (Like -Syu)
    yup <package(s)>    Searches for that packages and provides an install dialogue
    yup {-h --help}
    yup {-V --version}
    yup {-D --database} <options> <package(s)>
    yup {-F --files}    <options> <package(s)>
    yup {-Q --query}    <options> <package(s)>
    yup {-R --remove}   <options> <package(s)>
    yup {-S --sync}     <options> <package(s)>
    yup {-T --deptest}  <options> <package(s)>
    yup {-U --upgrade}  <options> <file(s)>
Custom operations:
    yup -c              Cleans cache and unused dependencies
    yup -C              Cleans AUR cache only
    yup -a [package(s)] Operates on the AUR exclusively
    yup -n [package(s)] Runs in non-ncurses mode
    yup -Y <Yupfile>    Install packages from a Yupfile
    yup -Qos            Orders installed packages by install size

Differences between yay or trizen

  • Yup gives you the most accurate results first. As seen in the example above, yup sorts the results to bring the most accurate to the start.

  • Yupfiles are small files that allow you to batch install packages with a single command. Here's an example Yupfile

  • Yup uses ncurses. This allows users to both scroll while not displacing the bottom bar and easily navigate to certain results using more natural forms of user input.

  • Yup has an easy config file seperate to that of pacman's. This allows it to be more customisable from the get go.

  • Yup has both yup -c (for clearing all package cache) and yup yup -C (for clearing yup's cache only).

  • Yup allows you to disable ncurses mode (to normal terminal output) using yup -n temporarily or permanently by changing a value in the config file.

  • In the search menu, yup allows you to remove an installed package instantly using the R hotkey.

  • After selecting packages to install, you can revise your decision if you made a mistake.

  • Yup will soon allow you to disable any of the dialogue during install using the config menu.


From the AUR

  1. git clone
  2. cd yup
  3. makepkg -si

From the AUR (binary)

  1. git clone
  2. cd yup-bin
  3. makepkg -si

From source

Make sure you have go>=1.12, ncurses and make.

  1. Clone the repo
  2. Run make
  3. Install with make install

Completions not working on zsh

  • You'll need to add compaudit && compinit to the bottom of your .zshrc


Copyright 2019 Eric Moynihan

Inspired by Jguer's yay