Skip to content

Repository

Packages are provided in package registries on codeberg.org for Arch Linux, Debian, Ubuntu (and Linux Mint), Fedora and openSUSE.

Arch Linux

Some packages from the Arch Linux User Repository (AUR) are provided in a pacman repository in an Arch Package Registry on codeberg.org.

To use that repository, execute these steps:

  1. Import and locally sign signature key

    $ curl -o /tmp/nerdstuff.key https://codeberg.org/api/packages/nerdstuff/arch/repository.key
    $ sudo pacman-key --add /tmp/nerdstuff.key
    $ sudo pacman-key --lsign-key 55AACA5BE10FC059B1B0EFE59F6B5E8F283031A8
    
  2. Add the repository to your /etc/pacman.conf

    [packages]
    SigLevel = Required
    Server = https://codeberg.org/api/packages/nerdstuff/arch/$repo/$arch
    
  3. Sync the package database

    $ sudo pacman -Sy
    

Debian

Some packages are provided in an apt repository in a Debian Package Registry on codeberg.org, for the stable and oldstable releases of Debian. Each release has a repository of its own, named after its codename (e.g. trixie). This also works for LMDE (Linux Mint Debian Edition), with the codename of the Debian release it is based on (e.g. trixie for LMDE 7).

To use that repository, execute these steps:

  1. Download the signature key

    $ sudo curl -o /etc/apt/keyrings/nerdstuff.asc https://codeberg.org/api/packages/nerdstuff/debian/repository.key
    
  2. Add the repository to /etc/apt/sources.list.d/nerdstuff.list. Replace trixie by the codename of your Debian release

    deb [signed-by=/etc/apt/keyrings/nerdstuff.asc] https://codeberg.org/api/packages/nerdstuff/debian trixie main
    
  3. Update the package index

    $ sudo apt update
    

Ubuntu and Linux Mint

The packages for Debian are also provided for the LTS releases of Ubuntu, in the same apt repository. Each release has a repository of its own, named after its codename (e.g. noble for Ubuntu 24.04). Linux Mint uses the packages of the Ubuntu LTS release it is based on (e.g. noble for Linux Mint 22).

To use that repository, execute these steps:

  1. Download the signature key

    $ sudo curl -o /etc/apt/keyrings/nerdstuff.asc https://codeberg.org/api/packages/nerdstuff/debian/repository.key
    
  2. Add the repository to /etc/apt/sources.list.d/nerdstuff.list. UBUNTU_CODENAME is the codename of your Ubuntu release, or of the Ubuntu release your Linux Mint release is based on

    $ . /etc/os-release
    $ echo "deb [signed-by=/etc/apt/keyrings/nerdstuff.asc] https://codeberg.org/api/packages/nerdstuff/debian $UBUNTU_CODENAME main" | sudo tee /etc/apt/sources.list.d/nerdstuff.list
    
  3. Update the package index

    $ sudo apt update
    

Fedora

Some packages are provided in an RPM repository in an RPM Package Registry on codeberg.org, for the currently supported releases of Fedora. Each release has a repository of its own.

To use that repository, execute these steps:

  1. Add the repository as /etc/yum.repos.d/nerdstuff.repo. $releasever makes dnf pick the repository of your Fedora release

    [nerdstuff]
    name=nerdstuff
    baseurl=https://codeberg.org/api/packages/nerdstuff/rpm/fedora/$releasever
    gpgcheck=0
    repo_gpgcheck=1
    gpgkey=https://codeberg.org/api/packages/nerdstuff/rpm/repository.key
    

    The registry only signs the repository metadata, which contains the checksums of all packages, but not the packages themselves. That's why repo_gpgcheck is used instead of gpgcheck. For the same reason, the .repo file offered by the registry doesn't work, since it requires signed packages.

  2. Update the package metadata (confirm the import of the signature key)

    $ sudo dnf makecache
    

openSUSE

Some packages are provided in an RPM repository in an RPM Package Registry on codeberg.org, for openSUSE Tumbleweed.

To use that repository, execute these steps:

  1. Add the repository as /etc/zypp/repos.d/nerdstuff.repo

    [nerdstuff]
    name=nerdstuff
    baseurl=https://codeberg.org/api/packages/nerdstuff/rpm/opensuse/tumbleweed
    enabled=1
    autorefresh=1
    type=rpm-md
    repo_gpgcheck=1
    pkg_gpgcheck=0
    gpgkey=https://codeberg.org/api/packages/nerdstuff/rpm/repository.key
    

    As for Fedora, the registry only signs the repository metadata, which contains the checksums of all packages, but not the packages themselves. That's why repo_gpgcheck is used instead of pkg_gpgcheck.

  2. Refresh the repository (confirm the import of the signature key)

    $ sudo zypper refresh nerdstuff