2.1 KiB


A suit of scripts to aid in the management of an pacman repo


In order to get started, you first need to create a repository with repomng (the filestructure that is). To do that, use ./ [repo name].

Note: dont forget to make the public directory accessible via your webserver of your choice! (see below)

repomng works completly on a file basis:

  • to add packages, simply put the result of makepkg into the respective's repo incomming folder (./incomming/<repo name>).
  • to remove packages (or to be more correct: make an "request"), simply create an empty file with its name in the repo's pending-remove folder (./pending-remove/<repo name>/<package name>).

Everything to be done will be run once you'll run ./; it's repomng's main workhorse.

Running on non-arch distros

On every distro that isn't arch (needed so we have access to repo-add and repo-remove), there is a handy feature in repomng script's that utilizes an archlinux dockerimage. (note: this is hardcoded in! in a feature version this will be dynamic)

Setting up your webserver

For nginx:

server {
        listen 80;
        listen [::]:80;


        # Assumes that we are running repomng inside /var/www/
        root /var/www/;

        # Log section; change it to your preferences!
        access_log /var/log/nginx/pkgs.example.com_access.log combined;
        error_log /var/log/nginx/pkgs.example.com_error.log error;

        # Not particular needed, but in order to allow web-access
	# like arch-mirros typically all do, you might want to left this unchanged
        location / {
            autoindex on;

Note: if you're wondering why we set the root to utilize the public directory of repomng, this is so we can host multiple repos under a single domain!

Using your repo

To use your repo in an installation of arch, append following to /etc/pacman.conf:

SigLevel = Optional TrustAll
Server =