Skip to content
mrdimidiumPublic

About

Packages & Dependencies gateway

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

pkg.earth — tiny packages caching proxy

Soon humanity will go to Mars and in order for the colonists to be able to program, we will need a local mirror of packages.

Installation

Please note that the project is in its infancy and is not intended for production use.

Debian/Ubuntu:

sudo apt install curl gnupg

curl -fsSL https://pkg.dimidiumlabs.io/packages.gpg | sudo gpg --dearmor -o /usr/share/keyrings/dimidiumlabs.gpg
echo "deb [signed-by=/usr/share/keyrings/dimidiumlabs.gpg] https://pkg.dimidiumlabs.io/pkg-earth/apt/ nightly main" | sudo tee /etc/apt/sources.list.d/pkg-earth.list
sudo apt update && sudo apt install pkg-earth

sudo systemctl enable --now pkg-earth

Alpine:

sudo wget -q https://pkg.dimidiumlabs.io/keys/packages.0001.rsa.pub \
  -O /etc/apk/keys/packages.0001.rsa.pub
echo "https://pkg.dimidiumlabs.io/pkg-earth/apk/nightly/$(apk --print-arch)" | \
  sudo tee -a /etc/apk/repositories
sudo apk update && sudo apk add pkg-earth
sudo rc-update add pkg-earth default
sudo rc-service pkg-earth start

Fedora/RHEL:

# DNF5 (Fedora 41+, RHEL 10+)
sudo dnf config-manager addrepo --from-repofile=https://pkg.dimidiumlabs.io/pkg-earth/rpm/nightly/pkg-earth-nightly.repo

# DNF4 (Fedora 40 and older, RHEL 8/9)
sudo curl -o /etc/yum.repos.d/pkg-earth-nightly.repo https://pkg.dimidiumlabs.io/pkg-earth/rpm/nightly/pkg-earth-nightly.repo

sudo dnf install pkg-earth
sudo systemctl enable --now pkg-earth

openSUSE:

sudo rpm --import https://pkg.dimidiumlabs.io/packages.gpg
sudo zypper addrepo https://pkg.dimidiumlabs.io/pkg-earth/rpm/nightly/ pkg-earth-nightly
sudo zypper refresh
sudo zypper install pkg-earth

sudo systemctl enable --now pkg-earth

The examples use the nightly channel updated from main. Replace nightly with stable to follow packages published from matching v* release tags. Signed APK, DEB, and RPM packages, standalone GitHub Release binaries, and the ghcr.io/mrdimidium/pkg.earth image are published for AMD64, ARM64, and RISC-V 64. GitHub releases also include a SHA256SUMS manifest.

Build from source

  1. Clone repo: git clone https://gilti.dev/pkg.earth.git && cd pkg.earth

  2. Provision the toolchain and system build dependencies: mise bootstrap

  3. Build from source: mise exec -- cargo build --release

  4. Install manually

    sudo groupadd --system pkg-earth
    sudo useradd --system --gid pkg-earth --no-create-home --shell /usr/sbin/nologin pkg-earth
    sudo install -m 700 -o pkg-earth ./deploy/pkg-earth.toml     /etc/
    sudo install -m 755 -o root   ./deploy/pkg-earth.service  /usr/lib/systemd/system
    sudo install -m 755 -o root   target/release/pkg-earth /usr/local/bin/
  5. start systemd service: sudo systemctl enable --now pkg-earth

Contributing

We welcome your contributions, including code, bug reports, ideas, and success stories.

If you are making a contribution for the first time or from a new email, please add yourself to the .mailmap.

AI policy

You may use AI agents when writing code and documentation. AI is not allowed for media including images, videos, fonts at all. You must fully read, understand, and cleanup any code generated by the agent. We ask that you disclose the agent's use and indicate the tool, model, and extent of contribution.

Contributions should include an Assisted-by tag in the following format: Assisted-by: AGENT_NAME:MODEL_VERSION [TOOL1] [TOOL2], for example: Assisted-by: Claude:claude-4.6-opus coccinelle sparse

Remember, AI agents should make software better, not worse.

Licensing

Source code is licensed under MPL-2.0. Documentation is licensed under CC-BY-4.0.

The bundled JetBrains Mono font files are licensed under OFL-1.1.

About

Packages & Dependencies gateway

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages