pkgx icon indicating copy to clipboard operation
pkgx copied to clipboard

[FR] multiple and custom pantries

Open andrewcrook opened this issue 10 months ago • 1 comments

Scenario:

Discussion

is it possible to create and use a private pantry with pkgx and tools? I would like to support internal tools, verified packages and build packages to later add to the main public pantry. I couldn't see any documentation regarding this.

Current Answer:

you can build pkgx with alternate paths

Request more practical solution:

  • To be able to replicate current pantry structure host on GitHub, GitLab, GiteTea both online and off via git
  • Support private and public repositories via git
  • Support multiple pantries
  • Support to add configuration to pkgx’s global config (~/.pkg.yaml ?) multiple pantry urls.
  • Pantry url order in config is used as search precedence over packages in lower pantries.

andrewcrook avatar Feb 13 '25 17:02 andrewcrook

As a preface, I would like this to be much simpler. But as it stands currently you can do the following:

it is possible (for a single pantry, nothing like taps is currently possible, but would be good I agree). To have your own pantry currently:

  • Fork the pantry (it contains all the build scripts)
  • Edit the github actions secrets to use your own AWS solutions for S3 and Cloudfront, or edit the workflows to use your a different cloud solution. (Using just github (eg. github packages for storage) should be possible, but I have not thought about it)
  • Set $PKGX_DIST_URL to that host
  • Use pkgx

The remote structure for a pkgx pantry is quite simple and requires no API.

Notably I don’t think there is an easy way to make things private currently. Possibly there is via env vars that the reqwests (provides http to pkgx) crate will just use.

I can provide more details—just ask!

mxcl avatar Feb 13 '25 23:02 mxcl