Ericm Yup Save

Arch Linux AUR Helper with ncurses functionality and better searching and sorting

Project README

An AUR helper and more

AUR version AUR bin version GitHub GitHub contributors

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. 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.

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 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.

Installing

From the AUR

  1. git clone https://aur.archlinux.org/yup.git
  2. cd yup
  3. makepkg -si

From the AUR (binary)

  1. git clone https://aur.archlinux.org/yup-bin.git
  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

Credits

Copyright 2019 Eric Moynihan

Inspired by Jguer's yay

Open Source Agenda is not affiliated with "Ericm Yup" Project. README Source: ericm/yup

Open Source Agenda Badge

Open Source Agenda Rating