YAY(8)
π¦ YAY(8) β Yay Manual π¦
okay bestie, welcome to the yay(8) manpage, the β¨glow-upβ¨ edition. yay is an AUR Helper written in go, and this is its manual. let's get into it π
β¨ NAME β¨
yay β AUR Helper written in go. that's the whole vibe. she's an AUR helper, she's written in go, she's iconic. π«Ά
β¨ SYNOPSIS β¨
yay <operation> [options] [targets]
yay <search terms>
yay
β¨ DESCRIPTION β¨
so basically πββοΈ Yay is a Pacman wrapper with AUR support. what that means is she passes options to Makepkg and Pacman after resolving packages to install/upgrade. no cap, she does the middle-woman thing and she does it flawlessly.
β οΈ heads up bestie: this manpage only covers options unique to Yay. for the other options (the pacman ones, yk), go check pacman(8). β¨
π YAY OPERATIONS π
-Y,--yayβ Perform yay specific operations. This one is the default if no other operation is selected and targets are defined. she's the main character π-B,--buildβ Build aPKGBUILDin a given directory. π¨-P,--showβ Perform yay specific print operations. π¨οΈ-G,--getpkgbuildβ DownloadsPKGBUILDfrom ABS or AUR. The ABS can only be used for Arch Linux repositories. iykyk π§-W,--webβ Web related operations such as voting for AUR packages. π
also, super important:
- If no operation is specified
yay -Syuwill be performed - If no operation is specified and targets are provided
-Ywill be assumed
π₯ EXTENDED PACMAN OPERATIONS π₯
-S,-Si,-Sl,-Ss,-Su,-Sc,-Quβ These operations are extended to support both AUR and repo packages. both! at once! she's versatile π-Scβ Yay will also clean cached AUR package and any untracked Files in the cache. ngl, cleaning untracked files will wipe any downloaded sources or built packages but will keep already downloaded vcs sources. so like, don't panic about your vcs sources, but DO be aware π-Rβ Yay will also remove cached data about devel packages. ποΈ
πΈ NEW OPTIONS πΈ
-N,--repoβ Assume all targets are from the repositories. Additionally Actions such as sysupgrade will only act on repository packages. strictly repos, no AUR drama πββοΈ-a,--aurβ Assume all targets are from the AUR. Additionally Actions such as sysupgrade will only act on AUR packages.
π plot twist: note that dependency resolving will still act normally and include repository packages. so she's AUR-only for the vibes, but deps still get their repo moment fr fr.
π YAY OPTIONS (APPLY TO -Y AND --YAY) π
<NO OPTION>β Displays a list of packages matching the search terms and prompts the user on which packages to install (yogurt mode π₯£). The first search term is used to query the different sources and the following search terms are used to narrow the search results through exact matching. so like, first term = the search, the rest = the filter π--gendbβ Generate development package database. Tracks the latest commit for each development package, when there is a new commit Yay will know to update. This is done per package whenever a package is synced. This option should only be used when migrating to Yay from another AUR helper. π-c,--cleanβ Remove unneeded dependencies. bye girlie βοΈ-ccβ Remove unneeded dependencies, including packages optionally required by any other package. she's thorough. she's not leaving anything behind π
π§ SHOW OPTIONS (APPLY TO -P AND --show) π§
-c,--completeβ Print a list of all AUR and repo packages. This allows shell completion and is not intended to be used directly by the user. it's for the shell, bestie, not for you π-d,--defaultconfigβ Print default yay configuration. β¨-g,--currentconfigβ Print current yay configuration. β¨-s,--statsβ Displays information about installed packages and system health. If there are orphaned, or out-of-date packages, or packages that no longer exist on the AUR; warnings will be displayed. she's giving doctor energy π©Ί-w,--newsβ Print new news from the Archlinux homepage. News is considered new if it is newer than the build date of all native packages. Pass this twice to show all available news. π°-q,--quietβ Only show titles when printing news. minimal queen π
β BUILD OPTIONS (APPLY TO -B AND --build) β
-i,--installβ Build and install aPKGBUILDin a given directory. build AND install, she does both π«Ά
π GETPKGBUILD OPTIONS (APPLY TO -G AND --getpkgbuild) π
-f,--forceβ Force download for ABS packages that already exist in the current directory. This ensures directories are not accidentally overwritten. bold of it to force, but protective of your files, we love a careful icon π-p,--printβ Prints thePKGBUILDof the given packages to stdout. π»
π WEB OPTIONS (APPLY TO -W AND --web) π
Web related operations such as voting for AUR packages. Requires setting AUR_USERNAME and AUR_PASSWORD environment variables. set 'em or she can't log in, periodt π
-u,--unvoteβ Remove vote from AUR package(s). takebacks are valid π-v,--voteβ Vote for AUR package(s). show some love π³οΈπ
π PERMANENT CONFIGURATION SETTINGS π
--saveβ Causes the following options to be saved back to the config file. This provides an easy way to change config options without directly editing the file. the lazy girlie's dream, and honestly? valid π--aururlβ Set an alternative AUR URL.--aurrpcurlβ Set an alternative URL for the AUR/rpcendpoint.--builddir <dir>β Directory to use for Building AUR Packages. This directory is also used as the AUR cache when deciding if Yay should skip builds.--editor <command>β Editor to use when editingPKGBUILDs. If this is not set theVISUALenvironment variable will be checked, followed byEDITOR. If none of these are set Yay will prompt the user for an editor.--editorflags <flags>β Passes arguments to the editor. These flags get passed to every instance where the editor is called by Yay. Arguments are split on whitespace before being passed to the editor. Multiple arguments may be passed by supplying a space separated list that is quoted by the shell.--makepkg <command>β The command to use for makepkg calls. This can be a command inPATHor an absolute path to the file.--pacman <command>β The command to use for pacman calls. This can be a command inPATHor an absolute path to the file.--git <command>β The command to use for git calls. This can be a command inPATHor an absolute path to the file.--gitflags <flags>β Passes arguments to git. These flags get passed to every instance where git is called by yay. Arguments are split on whitespace before being passed to git. Multiple arguments may be passed by supplying a space separated list that is quoted by the shell.--gpg <command>β The command to use for gpg calls. This can be a command inPATHor an absolute path to the file.--config <file>β The pacman config file to use.--makepkgconf <file>β The config file for makepkg to use. If this is not set then the default config file will be used.--nomakepkgconfβ Reset the makepkg config file back to its default. π--requestsplitn <number>β The maximum amount of packages to request per AUR query. The higher the number the faster AUR requests will be. Requesting too many packages in one AUR query will cause an error. This should only make a noticeable difference with very large requests (>500) packages.--completioninterval <days>β Time in days to refresh the completion cache. Setting this to0will cause the cache to be refreshed every time, while setting this to-1will cause the cache to never be refreshed. extremes only, love that for her π¦--sortby <votes|popularity|name|base|submitted|modified>β Sort AUR results by a specific field during search.--searchby <name|name-desc|maintainer|depends|checkdepends|makedepends|optdepends|provides|conflicts|replaces|groups|keywords|comaintainers>β Search for AUR packages by querying the specified field.--answerclean <All|None|Installed|NotInstalled|...>β Set a predetermined answer for the clean build menu question. This answer will be used instead of reading from standard input but will be parsed exactly the same.--answerdiff <All|None|Installed|NotInstalled|...>β Set a predetermined answer for the edit diff menu question. This answer will be used instead of reading from standard input but will be parsed exactly the same.--answeredit <All|None|Installed|NotInstalled|...>β Set a predetermined answer for the edit pkgbuild menu question. This answer will be used instead of reading from standard input but will be parsed exactly the same.--answerupgrade <Repo|^Repo|None|...>β Set a predetermined answer for the upgrade menu question. Selects which package ranges or repos to omit for updates. This answer will be used instead of reading from standard input but will be treated exactly the same.--noanswercleanβ Unset the answer for the clean build menu.--noanswerdiffβ Unset the answer for the diff menu.--noanswereditβ Unset the answer for the edit pkgbuild menu.--noanswerupgradeβ Unset the answer for the upgrade menu.--cleanmenuβ Show the clean menu. This menu gives you the chance to fully delete the downloaded build files from Yay's cache before redownloading a fresh copy.
π‘ ifcleanmenuis enabled in the configuration file, you can temporarily disable it by using--cleanmenu=falseon the command line. sneaky sneaky, love that π
--diffmenuβ Show the diff menu. This menu gives you the option to view diffs from build files before building.
Diffs are shown via git diff which uses less by default. This behaviour can be changed via git's config, the $GIT_PAGER or $PAGER environment variables. π
--editmenuβ Show the edit menu. This menu gives you the option to edit or viewPKGBUILDs before building.
β οΈ Warning: Yay resolves dependencies ahead of time via the RPC. It is not recommended to edit pkgbuild variables unless you know what you are doing. fr fr, don't touch what you don't understand bestie π
--askremovemakeβ Ask to remove makedepends after installing packages.--askyesremovemakeβ Ask to remove makedepends after installing packages(with "Y" as default). π«Ά--removemakeβ Remove makedepends after installing packages.--noremovemakeβ Do not remove makedepends after installing packages.--topdownβ Display repository packages first and then AUR packages. β¬οΈ--bottomupβ Show AUR packages first and then repository packages. β¬οΈ--singlelineresultsβ Override pacman's usual double-line search result format and list each result on its own line.--doublelineresultsβ Follow pacman's double-line search result format and list each result using two lines.--develβ During sysupgrade also check AUR development packages for updates. Currently only Git packages are supported.
Devel checking is done using git ls-remote. The newest commit hash is compared against the hash at install time. This allows devel updates to be checked almost instantly and not require the original pkgbuild to be downloaded. literally so fast, she ate π₯
okay so bestie, picking up right where we left off on the devel tea β β the slower pacaur-like devel checks can be done manually by piping a list of packages into yay (peep the examples below, they're giving β¨). And if 'devel' is enabled in the config file, you can temporarily turn it off with --devel=false right on the command line. Slay.
and now the rest of the option menu, no skips, no cap:
--cleanafterβ removes untracked files after installation. untracked files get yeeted except directories. why? so VCS packages can easily pull an update instead of having to reclone the entire repo. iconic behavior π--keepsrcβ keepspkg/andsrc/after building packages. simple as that.--separatesourcesβ separates query results by source: AUR and sync. two piles, no mixing.--redownloadβ always downloads pkgbuilds of targets even when a copy is already chilling in cache.--redownloadallβ always downloads pkgbuilds of all AUR packages even when a copy is available in cache.--noredownloadβ when downloading pkgbuilds, if the pkgbuild is found in cache and is equal or newer than the AUR's version, use that instead of downloading a new one. lowkey efficient.--providesβ looks for matching providers when searching for AUR packages. when multiple providers are found, a menu pops up prompting you to pick one. this increases dependency resolve time although this should not be noticeable.--pgpfetchβ prompts to import unknown PGP keys from thevalidpgpkeysfield of each PKGBUILD. trust issues? handled.--useaskβ uses pacman's--askflag to automatically confirm package conflicts. Yay lists conflicts ahead of time. it is possible that Yay does not detect a conflict, causing a package to be removed without the user's confirmation. however, this is very unlikely. so like, don't stress? but also know the risk.--combinedupgradeβ during sysupgrade, Yay will first perform a refresh, then show its combined menu of repo and AUR packages that will be upgraded. then after reviewing the pkgbuilds, the repo and AUR upgrade will start with no need for manual intervention. BUT if Yay exits for any reason after the refresh without upgrading, it is then the user's responsibility to either resolve the reason Yay exited or run a sysupgrade through pacman directly. so don't just walk away mid-upgrade, bestie π--batchinstallβ when building and installing AUR packages, instead of installing each package after building, queue each package for install. then once either all packages are built or a package in the build queue is needed as a dependency to build another package, install all the packages in the install queue. it's giving assembly line realness π--rebuildβ always builds target packages even when a copy is available in cache.--rebuildallβ always builds all AUR packages even when a copy is available in cache.--rebuildtreeβ when installing an AUR package, rebuild and reinstall all of its AUR dependencies recursively, even the ones already installed. this flag allows you to easily rebuild packages against your current system's libraries if they have become incompatible. so if your libs are acting brand new, this is the move.--norebuildβ when building packages, if the package is found in cache and is an equal version to the one wanted, skip the package build and use the existing package.--mflags <flags>β passes arguments to makepkg. these flags get passed to every instance where makepkg is called by Yay. arguments are split on whitespace before being passed to makepkg. multiple arguments may be passed by supplying a space separated list that is quoted by the shell.--gpgflags <flags>β passes arguments to gpg. these flags get passed to every instance where gpg is called by Yay. arguments are split on whitespace before being passed to gpg. multiple arguments may be passed by supplying a space separated list that is quoted by the shell.--sudo <command>β the command to use for sudo calls. this can be a command inPATHor an absolute path to the file. the sudoloop is not guaranteed to work with a custom sudo command.--sudoflags <flags>β passes arguments to sudo. these flags get passed to every instance where sudo is called by Yay. arguments are split on whitespace before being passed to sudo. multiple arguments may be passed by supplying a space separated list that is quoted by the shell.--sudoloopβ loops sudo calls in the background to prevent sudo from timing out during long builds. no more coming back to a dead sudo prompt π
π EXAMPLES π
yay fooβ search and install from the repos and the AUR using yogurt mode. yes, yogurt mode. it's a vibe.yay -Syuβ update package list and upgrade all currently installed repo and AUR packages.yay -Suaβ update all currently installed AUR packages.yay -S fooβ installs package foo from the repos or the AUR.yay -Ss fooβ searches for package foo on the repos or the AUR.yay -Si fooβ gets information about package foo from the repos or the AUR.yay -S foo --mflags "--skipchecksums --skippgpcheck"β installs foo while skipping checksums and pgp checks. risky? maybe. iconic? absolutely.yay --devel --saveβ sets devel to true in the config.yay -P --statsβ shows statistics for installed packages and system health. know your numbers, bestie πpacman -Qmq | grep -Ee '-(cvs|svn|git|hg|bzr|darcs)$' | yay -S --needed -β pacaur-like devel check. pipe it, don't fight it.
π ENVIRONMENT VARIABLES π
AURDESTβ can be set to configure the build directory. overridden by--builddir.VISUAL,EDITORβ when editor is not configured, use these variables to pick what editor to use when editing PKGBUILDS. so like, tell Yay who your fave editor is π
ποΈ FILES ποΈ
π CONFIG DIRECTORY π
the config directory is $XDG_CONFIG_HOME/yay/. if $XDG_CONFIG_HOME is unset, the config directory will fall back to $HOME/.config/yay.
config.json is used to store all of Yay's config options. editing this file should be done through Yay, using the options mentioned in PERMANENT CONFIGURATION SETTINGS. don't raw-dog the JSON unless you know what you're doing, bestie.
init.lua can set Lua configuration options and define Lua hooks, such as pre-install hooks for AUR PKGBUILDs. see doc/lua.md for the Lua API. yes, Lua. we're fancy now π§
π CACHE DIRECTORY π
the cache directory is $XDG_CACHE_HOME/yay/. if $XDG_CACHE_HOME is unset, the cache directory will fall back to $HOME/.cache/yay.
completion.cache holds a list of of all packages, including the AUR, for shell completion. by default the completion files are refreshed every 7 days. (yes, double "of" β it's a whole thing, we move.)
vcs.json tracks VCS packages and the latest commit of each source. if any of these commits change, the package will be upgraded during a devel update. so that's how the devel magic knows π
π BUILD DIRECTORY π
unless otherwise set, this should be the same as CACHE DIRECTORY. this directory is used to store downloaded AUR Packages as well as any source files and built packages from those packages.
π PACMAN.CONF π
Yay uses Pacman's config file to set certain pacman options either through go-alpm or Yay itself. options inherited include most libalpm options and pacman options.
notably: Databases, Color and *Path/*Dir options are used.
π SEE ALSO π
makepkg(8), makepkg.conf(5), PKGBUILD(5), pacman(8), pacman.conf(5)
see the arch wiki at https://wiki.archlinux.org/index.php/Arch_User_Repository for more info on the AUR. wiki bestie, we love you πΈ
π BUGS π
please report bugs to our GitHub page https://github.com/Jguer/yay β they're not scary, they're just misunderstood π«Ά
π AUTHORS π
- Jguer <joguer@proton.me>
- Morgan <morganamilo@archlinux.org>
and that's the whole manual, bestie! this masterpiece is Yay v13.0+, dated 2026-06-17, and it lives in section YAY(8) of the manual. go forth and slay your packages π β¨π
π¦ where this page comes from
- nixpkgs unstable: yay 13.0.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms