rebuilderd-sync.conf(5)

πŸ“¦
version 0.25.0 Β· 4 versions
, in arch rolling

πŸŽ€ rebuilderd-sync.conf(5) πŸŽ€

okay so bestie, welcome to the File Formats Manual side of the universe β€” this is the whole entire lore drop on rebuilderd-sync.conf, and honestly? it's giving "quiet config file that runs your whole rebuild empire" ✨


πŸ’– NAME πŸ’–

rebuilderd-sync.conf β€” the config file for rebuildctl pkgs sync-profiles, iykyk 🫢


πŸ¦‹ SYNOPSIS πŸ¦‹

/etc/rebuilderd-sync.conf

that's it. that's the path. she lives at /etc, she's iconic, periodt πŸ’…


🌸 DESCRIPTION 🌸

so this file is literally your little profile-making machine πŸ’– it lets you configure profiles that can be started with a systemd timer or a cronjob. the whole point is that you do not need to be out here providing these options on the commandline every single time like some kind of peasant 😭 β€” set it once, vibe forever 🌈


✨ OPTIONS ✨

okay here's the main character portion, let's get into it πŸŽ€

  • distro= β€” the name of the distro. right now it's either archlinux or debian. no cap, that's the whole list πŸ’€
  • suite= β€” this one's for packages that have multiple suites/repositories, like main, contrib, non-free or core, extra and community 🧚
  • architectures= β€” the architectures of the package list we want to import. plural queens only πŸ‘‘
  • releases= β€” import specific releases. okay so heads up: this option has no effect in rolling-release distributions like Arch Linux (she doesn't do releases, she's fluid πŸ’…) but it's important for, eg., Debian. and fun fact: if the same version is present in multiple releases, the package is only imported once β€” no dupes, no drama πŸ™ˆ
  • source= β€” this is the url we want to import from πŸ”₯ for Arch Linux it might look like this:
source = "https://ftp.halifax.rwth-aachen.de/archlinux/$repo/os/$arch"
  • maintainers= (optional) β€” select packages from specific maintainers 🫢 the strings are supposed to match the beginning of the packager field of the packages. like:
maintainers = ["kpcyrd", "Levente Polyak"]
  • pkgs= (optional) β€” select packages by name, bestie:
pkgs = ["rebuilderd", "python-*"]
  • excludes= (optional) β€” if a package matches one of these patterns it's always going to be ignored. blocked. uninvited. 🚫
excludes = ["tensorflow*"]
πŸ’€ important note: both pkgs= and excludes= support glob patterns. and if maintainers= and pkgs= are both not set, then every package is selected β€” she's inclusive like that 🌈

πŸ“ EXAMPLE πŸ“

here's the whole thing in action, screenshot this bestie 😭

## rebuild all of core
[profile."archlinux-core"]
distro = "archlinux"
suite = "core"
architecture = "x86_64"
source = "https://ftp.halifax.rwth-aachen.de/archlinux/$repo/os/$arch"

## rebuild community packages of specific maintainers, or allow-list packages by name.
## If no filter is set, all packages are imported, if both filters are set the package only
## has to match one of them to be included.
#[profile."archlinux-community"]
#distro = "archlinux"
#suite = "community"
#architecture = "x86_64"
#source = "https://ftp.halifax.rwth-aachen.de/archlinux/$repo/os/$arch"
#maintainers = ["somebody"]
#pkgs = ["some-pkg", "python-*"]
#excludes = ["tensorflow*"]

the commented-out one is optional btw β€” uncomment her when you're ready to let her cook πŸ”₯


🧚 AUTOMATIC SYNC 🧚

want it to just... happen? without you? obsessed πŸ’– enable the systemd timer to automatically sync specific profiles:

systemctl enable --now rebuilderd-sync@archlinux-core.timer

and the little detail that matters: the argument behind the @ is refering to the section in the config file πŸ‘‘ that's your link-up, that's the whole trick, iykyk ✨


🌈 SEE ALSO 🌈

rebuilderd(1), rebuildctl(1) β€” go read those too, bestie, they're the supporting cast 🫢


πŸ’œ AUTHORS πŸ’œ

rebuilderd was originally written by kpcyrd and is hosted at https://github.com/kpcyrd/rebuilderd 🌸 go give her a star, she deserves it πŸŽ€


✨ that's the whole page, bestie ✨ this glorious little document was dated 2025-08-29 (yes, that's the footer date, and it's giving main character energy πŸ’…) β€” mwah, go configure your profiles, you're gonna slay πŸ«ΆπŸ’–πŸ”₯

πŸ“¦ where this page comes from