Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ericm/yup
Arch Linux AUR Helper with ncurses functionality and better searching and sorting
https://github.com/ericm/yup
arch-linux archlinux aur aur-completions aur-helper aur-packages hacktoberfest pacaur pacman pkgbuild terminal trizen tui yaourt yay
Last synced: about 2 months ago
JSON representation
Arch Linux AUR Helper with ncurses functionality and better searching and sorting
- Host: GitHub
- URL: https://github.com/ericm/yup
- Owner: ericm
- License: gpl-3.0
- Created: 2019-05-05T15:49:42.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2023-06-14T18:37:58.000Z (over 1 year ago)
- Last Synced: 2024-12-10T08:06:59.770Z (about 2 months ago)
- Topics: arch-linux, archlinux, aur, aur-completions, aur-helper, aur-packages, hacktoberfest, pacaur, pacman, pkgbuild, terminal, trizen, tui, yaourt, yay
- Language: Go
- Homepage: https://aur.archlinux.org/packages/yup
- Size: 7.22 MB
- Stars: 141
- Watchers: 9
- Forks: 7
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- Awesome-Arch - Yup - Arch Linux AUR Helper with ncurses functionality and better searching and sorting. (AUR Helpers / Graphical)
README
An AUR helper and more
[![AUR version](https://img.shields.io/aur/version/yup.svg?style=for-the-badge)](https://aur.archlinux.org/packages/yup/)
[![AUR bin version](https://img.shields.io/aur/version/yup-bin?color=%230084ff&label=bin&style=for-the-badge)](https://aur.archlinux.org/packages/yup-bin/)
[![GitHub](https://img.shields.io/github/license/ericm/yup.svg?style=for-the-badge)](https://github.com/ericm/yup/blob/master/LICENSE)
[![GitHub contributors](https://img.shields.io/github/contributors/ericm/yup.svg?style=for-the-badge)](https://github.com/ericm/yup/graphs/contributors)**Yup** helps you install packages with ease on Arch Linux
## Features
- Searching with `yup [search-terms]` returns most accurate results
![](assets/scr1.png?raw=true)- Uses _ncurses_ to display search results. This allows for mouse interaction in the terminal and easier navigation.
[![asciicast](https://asciinema.org/a/dx5Dk0uu4aPEVk9r03jqiZOWP.svg)](https://asciinema.org/a/dx5Dk0uu4aPEVk9r03jqiZOWP)
- 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 Searches for that packages and provides an install dialogue
Operations:
yup {-h --help}
yup {-V --version}
yup {-D --database}
yup {-F --files}
yup {-Q --query}
yup {-R --remove}
yup {-S --sync}
yup {-T --deptest}
yup {-U --upgrade}
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 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](test.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](https://github.com/Jguer)'s [yay](https://github.com/Jguer/yay)