Central distribution repository for protibimbok tools.
This repo is the single source of truth for:
- Homebrew tap (
Casks/) - APT repository (
apt/) - Package signing key (
public.gpg) - Release packaging automation (
.github/workflows/)
Application source code lives in the individual project repos (mgit, phnx, etc.).
brew tap protibimbok/pkg-dist
brew install mgit
brew install phnx
# vpn is apt/AUR only (no macOS builds)# One-time: install the signing key
curl -fsSL \
https://github.com/protibimbok/pkg-dist/raw/master/public.gpg \
| sudo gpg --dearmor \
-o /usr/share/keyrings/protibimbok.gpg
# One-time: add the repository
echo "deb [signed-by=/usr/share/keyrings/protibimbok.gpg] \
https://protibimbok.github.io/pkg-dist/apt stable main" \
| sudo tee /etc/apt/sources.list.d/protibimbok.list
sudo apt update
sudo apt install mgit
sudo apt install phnx
sudo apt install vpnmgit/phnx/vpn-tui tag push
→ GitHub Release (binaries + .deb)
→ repository_dispatch to pkg-dist
→ update Casks/ (skipped when no darwin builds)
→ add .deb to apt repo (reprepro)
→ sign Release
→ commit + push
| Secret | Purpose |
|---|---|
GPG_PRIVATE_KEY |
APT repo signing subkey (armored, for CI) — optional until Phase 4 |
GPG_PASSPHRASE |
Passphrase for the signing subkey |
| Secret | Purpose |
|---|---|
PKG_DIST_TOKEN |
Trigger pkg-dist workflow (PAT with contents: write on pkg-dist) |
AUR_KEY |
AUR updates (unchanged, stays in source repos) |
From the source repo:
git tag v1.0.0
git push origin v1.0.0The source repo builds binaries and publishes a GitHub Release. pkg-dist is notified automatically.
gh workflow run publish.yml \
-f package=mgit \
-f tag=v1.0.1pkg-dist/
├── Casks/
│ ├── mgit.rb
│ └── phnx.rb
├── apt/
│ ├── conf/
│ │ └── distributions
│ ├── dists/ # generated by reprepro
│ └── pool/ # generated by reprepro
├── public.gpg # exported public signing key
├── scripts/
│ ├── update-cask.sh
│ ├── update-apt.sh
│ └── package-metadata.json
└── .github/workflows/
└── publish.yml
Primary Key (offline, backed up as master-backup.gpg)
└── Signing Subkey (exported as ci-subkey.asc → GitHub Secret)
Generate keys locally (see docs/gpg-setup.md), never commit private key material.