yup
yup copied to clipboard
Arch Linux AUR Helper with ncurses functionality and better searching and sorting
An AUR helper and more
Yup helps you install packages with ease on Arch Linux
Features
-
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.
-
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.
Configuration
- 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) }
Usage
yup Updates AUR and pacman packages (Like -Syu)
yup <package(s)> Searches for that packages and provides an install dialogue
Operations:
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 yupyup -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.
Installing
From the AUR
-
git clone https://aur.archlinux.org/yup.git
-
cd yup
-
makepkg -si
From the AUR (binary)
-
git clone https://aur.archlinux.org/yup-bin.git
-
cd yup-bin
-
makepkg -si
From source
Make sure you have go>=1.12
, ncurses
and make
.
- Clone the repo
- Run
make
- Install with
make install
Completions not working on zsh
- You'll need to add
compaudit && compinit
to the bottom of your .zshrc
Credits
Copyright 2019 Eric Moynihan