# Pacco Pacco is an application for managing and hosting pacman repositories. ## Features - Multiple repositories - Multiple architectures - Web UI for packages - API for pushing new packages - Smart mirroring ## Usage ### Package Repo To use the packages pacco provides, add the following to `pacman.conf`: ```ini # /etc/pacman.conf [repo] Server = https://example.com/pkg/$repo/$arch ``` ### Add a new package To upload a package you created with `makepkg` to a repo use curl: ```sh curl -X POST \ -F "pkg=@./<pkg_name>-<version>-<rel>-<arch>.pkg.tar.zst" \ -F "sig=@./<pkg_name>-<version>-<rel>-<arch>.pkg.tar.zst.sig" \ "https://<domain>/pkg/<repo>/upload" ``` ### Build with CI You can add the following as a CI pipeline to automatically build and push a new package version. ```yml when: - event: push branch: main steps: - name: "PKGBUILD" image: git.hydrar.de/jmarya/pacco:latest commands: - pacco build --ci --push navos environment: PACCO_HOST: "https://pac.hydrar.de" PACCO_TOKEN: from_secret: pacco_token SIGN_KEY: from_secret: navos_key ```