config.toml settings

Global Settings

chroot = "/home/user/Downloads/chroot"

Location of the chroot.

tmpfs = false

If set to true, creates a new directory, sets it up with tmpfs, and copies the chroot to it (recommended to have +32GiB ram if this option is used).

pkg_out_dir = "/home/user/pkgs_out"

The location to place built packages. Should be the same location for the repository tar file.

repo = "/home/user/pkgs_out/custom.db.tar"

The repository (tar) file. Change "custom" to any other name to change the name of the repository

clones_dir = "/home/user/Downloads/aur"

The location to place the AUR-package-git-clones. Each subdirectory in this directory should have a PKGBUILD and .SRCINFO as each AUR package should have these files.

gpg_dir = "/home/user/gnupg_dir"

The location of the GNUPGHOME dir. This keeps track of gpg keys and is used to verify sources within PKGBUILDs that use a gpg key. If a build fails due to an "unknown gpg key", then one can do GNUPGHOME=/home/user/gnupg_dir gpg --recv-keys FINGERPRINT or GNUPGHOME=/home/user/gnupg_dir gpg --import < pub_key_file to save a signer's public key.

logs_dir = "/home/user/Downloads/logs"

The directory to place all logs.

signing_gpg_dir = "/home/user/signing_gnupg_dir"

The location to store the signing key used for every package and repo stored in "pkg_out_dir" and "repo". It is recommended to only generate a "SC" key as mentioned in the guide (--full-gen-key, RSA sign only or ECC sign only).

signing_gpg_key_fp = "THE_GPG_KEY_FINGERPRINT"

A 40-character-long hexadecimal fingerprint of the signing key. This is typically displayed using GNUPGHOME=/home/user/signing_gnupg_dir gpg -K. If you want to use a subkey to sign the packages, then you can list/find them with GNUPGHOME=/home/user/signing_gnupg_dir gpg -K --with-subkey-fingerprint.

editor = "/usr/bin/vim"

The text editor to use when viewing PKGBUILDs or other files. It can be set to editor = "/usr/bin/nano" or any other editor of your choosing.

is_timed = true

If "is_timed" is set to "true", then all printed logs will have a timestamp. Note that the timestamps will be in UTC.

is_log_timed = true

if "is_log_timed" is set to "true", then all saved logs will have a timestamp. Note that the timestamps will be in UTC.

log_limit = 1073741824

The log-file-size limit in bytes. The default is 1GiB.

error_on_limit = true

If "error_on_limit" is "true", then the currently built package will be aborted if its log file exceeds the size limit set by "log_limit".

datetime_in_local_time = true

If true, timestamps will be in localtime instead of UTC

print_state_info_only_building_sigusr1 = true

If this option is set to "true", then only the packages that are to be built will be logged when SIGUSR1 is received during building. Otherwise, all packages listed in the config.toml will be printed with their status. Note that SIGUSR1 does not stop the build.

persistent_state_db = "/home/user/aur_helper_state.db"

The path for AnotherAURHelper to create and use a sqlite database to help keep track of things. The current use of it is to check if a PKGBUILD of a package was previously determined to be "OK" and will therefore skip checking the PKGBUILD depending on the per-package options.

temporary_files_dir = "/home/user/aur_helper_temp_files"

The path for AnotherAURHelper to place temporary files. It is currently used to keep a backup of "$HOME/.cargo/config.toml" which will write back to its original location on program exit to ensure the config file remains exactly as it was before any build starts.

Per Package Settings

Per Package Example

[[entry]]
name = "helix-git-package"
pkg_name = "helix-git"
repo_path = "https://aur.archlinux.org/helix-git"
skip_branch_up_to_date = false
only_check_SRCINFO = false
only_check_PKGBUILD = true
hash_compare_PKGBUILD = true
ccache_dir = "/home/user/ccache_dirs/helix_git_does_not_use_ccache"
sccache_dir = "/home/user/sccache_dirs/helix_may_use_sccache"
sccache_cache_size = "5G"
sccache_rust_only = true
link_cargo_registry = false
full_link_cargo_registry = true
aur_deps = [
    "wlroots-git",
    "sway-git"
]
other_deps = [
    "xorg-xwayland",
    "stdman"
]

Per Package Options Explanation

name = "helix-git"

The "name" of the package. This is the name of the git clone directory of a package. This is also the name used when cloning from https://aur.archlinux.org .

pkg_name = "helix-git-package"

The "informal" name of the package. Only used for logging about the package. Defaults to "name" if unset.

repo_path = "https://aur.archlinux.org/helix-git"

If unset, defaults to "https://aur.archlinux.org/{name}.git". Otherwise, it should be a path to a git repository containing a PKGBUILD file and .SRCINFO file.

skip_branch_up_to_date = false

Skips prompt for a package if it is already "up-to-date". A package is "up-to-date" if the repository does not have a new commit.

only_check_SRCINFO = false

Skips prompt for checking between SRCINFO or PKGBUILD and checks SRCINFO directly.

only_check_PKGBUILD = true

Skips prompt for checking between SRCINFO or PKGBUILD and checks PKGBUILD directory.

hash_compare_PKGBUILD = true

Skips checking PKGBUILD prompt with "editor" if the hash of the PKGBUILD on start of AnotherAURHelper does not match the hash of the PKGBUILD after git pull.

ccache_dir = "/home/user/ccache_dirs/helix_git_does_not_use_ccache"

If "ccache_dir" is specified, then ccache will be set up for the build and it will be cached in the specified directory.

sccache_dir = "/home/user/sccache_dirs/helix_may_use_sccache"

If "sccache_dir" is specified, then sccache will be set up for the build and it will be cached in the specified directory.

sccache_cache_size = "5G"

Forces the sccache cache size to the given value. (Refer to sccache documentation on environment variable SCCACHE_CACHE_SIZE for what values are acceptable.)

sccache_rust_only = true

Forces the use of sccache to be used only by the Rust compiler.

link_cargo_registry = false

Binds "$HOME/.cargo/git" to "/build/.cargo/git" and "$HOME/.cargo/registry" to "/build/.cargo/registry" in the chroot. This enables sharing of the host's cache to the chroot's cache for Rust packages.

full_link_cargo_registry = true

Note

Currently, this option is only in the dev branch as of 2025-09-21.

Binds "$HOME/.cargo" to "/build/.cargo" in the chroot. This enables sharing of the host's cache to the chroot's cache for Rust packages. Note that if this is used, then "$HOME/.cargo/config.toml" will be copied to a temporary directory, and when AnotherAURHelper exits, the config.toml in the temporary directory is copied back to prevent it being overwritten somehow during package building.

aur_deps = [
    "wlroots-git",
    "sway-git"
]

Uses the "pkg_out_dir" and "repo" to install previously built AUR packages specified by "aur_deps". It is recommended to move the named dependencies before this package in the config.toml so it always loads the latest built version of it as AnotherAURHelper builds all packages in sequential order in the config.toml.

other_deps = [
    "xorg-xwayland",
    "stdman"
]

Like "aur_deps", but for packages already available in the package repositories.