{"id":13799314,"url":"https://github.com/ericm/yup","last_synced_at":"2025-06-22T14:09:32.328Z","repository":{"id":43092165,"uuid":"185051569","full_name":"ericm/yup","owner":"ericm","description":"Arch Linux AUR Helper with ncurses functionality and better searching and sorting ","archived":false,"fork":false,"pushed_at":"2023-06-14T18:37:58.000Z","size":7567,"stargazers_count":141,"open_issues_count":5,"forks_count":7,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-04-17T19:53:17.699Z","etag":null,"topics":["arch-linux","archlinux","aur","aur-completions","aur-helper","aur-packages","hacktoberfest","pacaur","pacman","pkgbuild","terminal","trizen","tui","yaourt","yay"],"latest_commit_sha":null,"homepage":"https://aur.archlinux.org/packages/yup","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ericm.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-05-05T15:49:42.000Z","updated_at":"2025-03-09T12:34:47.000Z","dependencies_parsed_at":"2024-06-18T22:50:04.442Z","dependency_job_id":"5baa8fb2-5c11-41d1-96d5-7e8faf7b1264","html_url":"https://github.com/ericm/yup","commit_stats":null,"previous_names":[],"tags_count":30,"template":false,"template_full_name":null,"purl":"pkg:github/ericm/yup","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericm%2Fyup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericm%2Fyup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericm%2Fyup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericm%2Fyup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ericm","download_url":"https://codeload.github.com/ericm/yup/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericm%2Fyup/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261304267,"owners_count":23138301,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arch-linux","archlinux","aur","aur-completions","aur-helper","aur-packages","hacktoberfest","pacaur","pacman","pkgbuild","terminal","trizen","tui","yaourt","yay"],"created_at":"2024-08-04T00:01:01.283Z","updated_at":"2025-06-22T14:09:27.315Z","avatar_url":"https://github.com/ericm.png","language":"Go","funding_links":[],"categories":["AUR Helpers","HarmonyOS"],"sub_categories":["Graphical","Windows Manager"],"readme":"\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"assets/logo.svg\" /\u003e\n    \u003cp\u003eAn \u003cb\u003eAUR\u003c/b\u003e helper and more\u003c/p\u003e\n\u003c/div\u003e\n\n[![AUR version](https://img.shields.io/aur/version/yup.svg?style=for-the-badge)](https://aur.archlinux.org/packages/yup/)\n[![AUR bin version](https://img.shields.io/aur/version/yup-bin?color=%230084ff\u0026label=bin\u0026style=for-the-badge)](https://aur.archlinux.org/packages/yup-bin/)\n[![GitHub](https://img.shields.io/github/license/ericm/yup.svg?style=for-the-badge)](https://github.com/ericm/yup/blob/master/LICENSE)\n[![GitHub contributors](https://img.shields.io/github/contributors/ericm/yup.svg?style=for-the-badge)](https://github.com/ericm/yup/graphs/contributors)\n\n**Yup** helps you install packages with ease on Arch Linux\n\n## Features\n\n- Searching with `yup [search-terms]` returns most accurate results\n  ![](assets/scr1.png?raw=true)\n\n- Uses _ncurses_ to display search results. This allows for mouse interaction in the terminal and easier navigation.\n  [![asciicast](https://asciinema.org/a/dx5Dk0uu4aPEVk9r03jqiZOWP.svg)](https://asciinema.org/a/dx5Dk0uu4aPEVk9r03jqiZOWP)\n- Don't want to use ncurses? Use `yup -n` to use non-ncurses mode\n\n- Want to search the AUR exclusively? Use `yup -a`\n\n- Like _yay_, type `yup` to run a system upgrade.\n\n- An easy to use config file located at `~/.config/yup/config.json` in JSON format.\n\n* Want to see which packages are cluttering up your system? Run `yup -Qos` to get a list ordered package size.\n\n## Configuration\n\n- Config file found at `~/.config/yup/config.json`.\n- The config file has the following options:\n  ```\n    {\n\t\tSortMode:         \"closest\"|\"none\", # changes how results are sorted (more to come)\n\t\tNcurses:          bool, # Whether to default to ncurses or not (override by -n)\n\t\tUpdate:           bool, # Whether to update the pacman repos before every sync command\n\t\tPrintPkg:         bool, # Whether to print the PKGBUILD before install (for AUR)\n\t\tAskPkg:           bool, # Whether to ask to edit PKGBUILD before install (only if PrintPkg is true)\n\t\tAskRedo:          bool, # Whether to ask if you want to reselect packages before install\n\t\tSilentUpdate:     bool, # Whether you want to be asked to edit PKGBUILD during system update (overrides PrintPkg)\n\t\tPacmanLimit:      int,  # The number of packages parsed from pacman to be sorted and searched\n\t\tAurLimit:         int,  # The number of packages parsed from the AUR to be sorted and searched\n\t\tVimKeybindings:   bool, # Enabling Vim keybindings (j and k keys to go up and down)\n\t}\n    ```\n\n## Usage\n\n```\n    yup                 Updates AUR and pacman packages (Like -Syu)\n    yup \u003cpackage(s)\u003e    Searches for that packages and provides an install dialogue\nOperations:\n    yup {-h --help}\n    yup {-V --version}\n    yup {-D --database} \u003coptions\u003e \u003cpackage(s)\u003e\n    yup {-F --files}    \u003coptions\u003e \u003cpackage(s)\u003e\n    yup {-Q --query}    \u003coptions\u003e \u003cpackage(s)\u003e\n    yup {-R --remove}   \u003coptions\u003e \u003cpackage(s)\u003e\n    yup {-S --sync}     \u003coptions\u003e \u003cpackage(s)\u003e\n    yup {-T --deptest}  \u003coptions\u003e \u003cpackage(s)\u003e\n    yup {-U --upgrade}  \u003coptions\u003e \u003cfile(s)\u003e\nCustom operations:\n    yup -c              Cleans cache and unused dependencies\n    yup -C              Cleans AUR cache only\n    yup -a [package(s)] Operates on the AUR exclusively\n    yup -n [package(s)] Runs in non-ncurses mode\n    yup -Y \u003cYupfile\u003e    Install packages from a Yupfile\n    yup -Qos            Orders installed packages by install size\n```\n\n## Differences between yay or trizen\n\n- 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.\n\n- `Yupfiles` are small files that allow you to batch install packages with a single command. [Here's an example Yupfile](test.Yupfile)\n\n- 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.\n\n- Yup has an easy config file seperate to that of pacman's. This allows it to be more customisable from the get go.\n\n- Yup has both `yup -c` (for clearing all package cache) and yup `yup -C` (for clearing yup's cache only).\n\n- 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.\n\n- In the search menu, yup allows you to remove an installed package instantly using the `R` hotkey.\n\n- After selecting packages to install, you can revise your decision if you made a mistake.\n\n- Yup will _soon_ allow you to disable any of the dialogue during install using the config menu.\n\n## Installing\n\n### From the AUR\n\n1. `git clone https://aur.archlinux.org/yup.git`\n2. `cd yup`\n3. `makepkg -si`\n\n### From the AUR (binary)\n\n1. `git clone https://aur.archlinux.org/yup-bin.git`\n2. `cd yup-bin`\n3. `makepkg -si`\n\n### From source\n\nMake sure you have `go\u003e=1.12`, `ncurses` and `make`.\n\n1. Clone the repo\n2. Run `make`\n3. Install with `make install`\n\n### Completions not working on zsh\n\n- You'll need to add `compaudit \u0026\u0026 compinit` to the bottom of your .zshrc\n\n## Credits\n\nCopyright 2019 Eric Moynihan\n\nInspired by [Jguer](https://github.com/Jguer)'s [yay](https://github.com/Jguer/yay)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fericm%2Fyup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fericm%2Fyup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fericm%2Fyup/lists"}