REPRO.CONF(5)

πŸ“¦ in arch rolling

πŸ’– REPRO.CONF(5) β€” the repro config file, bestie edition πŸ’–

okay so this is the manual page for repro.conf, section 5 of the manual. grab a lil snack, we're gonna go through it together πŸ“


✨ NAME ✨

repro.conf β€” the configuration file for repro. that's it, that's the vibe πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

/etc/archlinux-repro/repro.conf,
$XDG_CONFIG_HOME/archlinux-repro/repro.conf, ~/.repro.conf

three whole places this file can live, and you only need one of them 😌


🌸 DESCRIPTION 🌸

so the config options for repro live in repro.conf, and here's the thing β€” this file gets sourced by repro on launch. which means it's not just parsed, it's executed like a script, iykyk πŸ™ˆ

and every single variable in there, whether it's described below or not, gets exported to the build environment. all of them. no gatekeeping ✨

the system-wide configuration file is at:

/etc/archlinux-repro/repro.conf

and you can override individual options per-user in:

$XDG_CONFIG_HOME/devtools-repro/repro.conf

or in:

~/.repro.conf

and the first one takes priority over the second one. so $XDG_CONFIG_HOME/devtools-repro/repro.conf wins the crown πŸ‘‘


πŸŽ€ OPTIONS πŸŽ€

here's the whole roster, no skips, no skimming, we're doing all of them 🫢

  • BOOTSTRAPMIRROR="https://mirror.archlinux.no/iso/latest" β€” this is where the bootstrap image gets downloaded from, the one used for creating the container. default points at https://mirror.archlinux.no/iso/latest πŸ’–
  • BUILDDIRECTORY="/var/lib/repro" β€” where the containers should be stored. default is /var/lib/repro πŸŽ€
  • DIFFOSCOPE="diffoscope" β€” sets the diffoscope(1) command that gets run whenever unreproducible packages show up. default is just diffoscope πŸ”
  • HOSTMIRROR="http://mirror.neuf.no/archlinux/\$repo/os/\$arch" β€” the mirror that pacman uses inside the container. default is http://mirror.neuf.no/archlinux/\$repo/os/\$arch β€” and yes, those \$repo and \$arch escapes are doing exactly what you think they're doing, leave them alone 😭
  • IMGDIRECTORY="/tmp/arch_img" β€” where the Arch Linux bootstrap image gets downloaded to. default is /tmp/arch_img πŸ¦‹
  • MAKEFLAGS="-j$(nproc)" β€” configures MAKEFLAGS on the node. default is -j$(nproc), and it's set that way for optimization purposes. ngl, it's giving efficiency ✨
  • ARCH_ARCHIVE_CACHE="https://archive.archlinux.org/packages" β€” configures the archive mirror used when downloading archived packages. default is https://archive.archlinux.org/packages πŸ“¦
  • NOCHECK=0 β€” decides whether makepkg gets run with or without --nocheck inside the container. default is 0.
⚠️ heads up bestie: this could affect the build process. like, actually. don't just flip it for funsies πŸ’€
  • CACHEDIR=cache β€” picks the cache directory location. the default, cache, creates a cache in the working directory πŸ“
  • OUTDIR=./build β€” picks the build output directory. the default, ./build, creates ./build in the working directory πŸ‘‘

🌈 SEE ALSO 🌈

  • repro(8) β€” go read that one next, it's the main character πŸ’œ

and that's the whole page!! this one's from the REPRO.CONF(5) fam, dated 01/19/2026 β€” go forth and configure responsibly, mwah πŸ˜˜πŸ’…

πŸ“¦ where this page comes from