id = "trizen" name = "trizen" homepage = "https://github.com/trizen/trizen" description = "Lightweight AUR package manager: a pacman wrapper and AUR helper with an interactive search and build interface." executables = ["trizen"] platforms = ["linux"] [dotfiles] # The `trizen` script builds its own paths near the top: # my $config_dir = catdir($ENV{XDG_CONFIG_HOME} || catdir($home_dir, '.config'), $execname); # my $config_file = catfile($config_dir, "$execname.conf"); # with $execname being "trizen", and it creates $config_dir on startup if it is # missing. It reads $XDG_CONFIG_HOME rather than assuming ~/.config, so the # path is written with [configHome]. # # The neighbouring $cache_dir ($XDG_CACHE_HOME/trizen, the clone and build # tree) is cache and is deliberately not listed. paths = ["[configHome]/trizen/trizen.conf"] exclude = [] # trizen.conf is a Perl hash of preferences — the editor and pager to use, how # AUR results are sorted, whether to show votes and popularity, the clone # directory. No credential: trizen authenticates to nothing, and sudo is left # to pacman. secret = [] # No machine_lines. The one absolute path in the file, clone_dir, is written by # trizen's own dumper with the home directory substituted back out — the script # does `$dumped_config =~ s/\Q$home_dir\E/\$ENV{HOME}/g` before writing — so it # is already portable as stored. editor and pager are /usr/bin paths that are # the same on every Arch box. [commands] format = 1 label = "Install or search AUR packages" description = "Sync operation (-S) of trizen: install, search, info and upgrade. Clone (-G) and other operations are left out." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = false, short_bundles = true } [[commands.source]] id = "help" kind = "help" url = "https://raw.githubusercontent.com/trizen/trizen/HEAD/trizen" revision = "HEAD 2026-10-27" evidence = """ usage: trizen {-S --sync} [options] [package(s)] -s, --search : search for packages -i, --info : show info for packages -u, --sysupgrade : upgrade installed packages -y, --refresh : refresh package databases (with: -u) -a, --aur : only AUR operations (with: -c, -u, -s, -i) --devel : update VCS packages during -Su --noedit : do not prompt to edit files --noinstall : do not install packages after building --needed : do not reinstall up-to-date packages --noconfirm : do not ask for any confirmation trizen -S # install trizen -Ss # search for """ [[commands.field]] id = "sync" label = "Sync operation" type = "boolean" option = ["-S"] sources = ["help"] [[commands.field]] id = "search" label = "Search" type = "boolean" option = ["-s", "--search"] sources = ["help"] [[commands.field]] id = "info" label = "Show info" type = "boolean" option = ["-i", "--info"] sources = ["help"] [[commands.field]] id = "sysupgrade" label = "Upgrade installed packages" type = "boolean" option = ["-u", "--sysupgrade"] sources = ["help"] [[commands.field]] id = "refresh" label = "Refresh databases" type = "boolean" option = ["-y", "--refresh"] sources = ["help"] [[commands.field]] id = "aur" label = "AUR only" type = "boolean" option = ["-a", "--aur"] sources = ["help"] [[commands.field]] id = "devel" label = "Update VCS packages" type = "boolean" option = ["--devel"] sources = ["help"] [[commands.field]] id = "noedit" label = "Do not prompt to edit" type = "boolean" option = ["--noedit"] sources = ["help"] [[commands.field]] id = "needed" label = "Skip up-to-date packages" type = "boolean" option = ["--needed"] sources = ["help"] [[commands.field]] id = "noconfirm" label = "No confirmation" type = "boolean" option = ["--noconfirm"] sources = ["help"] [[commands.field]] id = "packages" label = "Packages or keywords" type = "string" position = 0 multiple = true sources = ["help"] [[commands.task]] id = "install" label = "Install packages" fields = ["sync", "packages", "needed", "noedit"] required = ["sync", "packages"] set = { sync = [true] } [[commands.task]] id = "search" label = "Search" fields = ["sync", "search", "packages", "aur"] required = ["packages"] set = { sync = [true], search = [true] } [[commands.task]] id = "upgrade" label = "Upgrade AUR" fields = ["sync", "sysupgrade", "aur", "devel"] required = ["sync"] set = { sync = [true], sysupgrade = [true], aur = [true] } [[commands.group]] id = "basic" label = "Basic" fields = ["sync", "search", "info", "sysupgrade", "packages"] [[commands.group]] id = "advanced" label = "Advanced" fields = ["refresh", "aur", "devel", "noedit", "needed", "noconfirm"]