Skip to content

orange-guo/aur-packages

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

98 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AUR Packages Monorepo 📦

This repository contains my maintained Arch User Repository (AUR) packages. The entire build, verification, and publishing process is automated via GitHub Actions.

🚀 Packages Managed

Package Description Status
antigravity-tools-bin Professional Antigravity Account Manager & Switcher Build Status
claude-code-stable-bin Claude Code terminal-based AI coding assistant (stable channel) Build Status
cli-proxy-api-bin Proxy server providing OpenAI/Gemini/Claude compatible API interfaces Build Status
cpa-usage-keeper-bin Standalone CLIProxyAPI usage persistence and dashboard service Build Status
fingerprint-chromium-bin Fingerprint Chromium (Ungoogled Chromium with fingerprinting protection) Build Status
vibe-kanban-bin AI-powered Kanban board Build Status
wlroots0.20-vmwgfx wlroots 0.20 with a vmwgfx compatibility patch for VMware environments Build Status
zellij-no-mouse-resize-bin Zellij with advanced_mouse_actions also gating pane mouse resize Build Status

🛠 Automation Workflow

The package framework lives in scripts/aurpkg.py. GitHub Actions call scripts/ci.sh, a small CI entrypoint that keeps workflow YAML thin and delegates package behavior to aurpkg.py.

  1. Discovery: Automatically scans the repository for PackageSpec v1 definitions (package.toml files).
  2. Resolve: Fetches upstream versions and direct source URLs.
  3. Prepare Artifacts: Produces or locates declared artifacts such as repo-built GitHub Release archives.
  4. Render: Generates a temporary PKGBUILD, optional .install, and other packaging assets.
  5. Build: Verifies the package builds successfully in a clean environment.
  6. Package Validation: Installs the built package and runs package-level smoke checks.
  7. Publish: Pushes the rendered package contents to AUR only after package validation passes.

The package validation workflow and the publish workflow share the same smoke-check path, so scheduled AUR publishes are gated on the same package-level checks used in pull requests.

For a deeper explanation of the moving parts, see docs/WORKFLOW.md. For framework boundaries and package extension rules, see docs/PACKAGE_FRAMEWORK.md.

The publish workflow runs automatically every 6 hours. Package validation runs on pull requests, pushes to main, and manual dispatches.

💻 Local Usage

You can use scripts/aurpkg.py to test changes locally.

Prerequisites

  • Arch Linux based system (or container)
  • sudo privileges
  • Docker or Podman for local run-test
  • github-cli (gh) only when publishing missing GitHub Release artifacts

Commands

1. Install Dependencies:

sudo pacman -Syu --needed --noconfirm git openssh pacman-contrib sudo curl jq python
sudo python3 scripts/aurpkg.py setup-user

2. Run Publish Path (Dry Run):

# Syntax: python3 scripts/aurpkg.py run-publish <pkgname-or-path> [flags]
python3 scripts/aurpkg.py run-publish antigravity-tools-bin --dry-run

3. Run Metadata Preflight:

python3 scripts/aurpkg.py preflight cli-proxy-api-bin

4. Run Publish Path Verification (Container/CI Recommended):

python3 scripts/aurpkg.py run-publish claude-code-stable-bin --dry-run --verify-install

5. Run Package Validation:

python3 scripts/aurpkg.py run-test antigravity-tools-bin

This path uses an ephemeral Arch container locally, builds the package, installs it with pacman -U, and runs smoke checks against the installed files.

➕ Adding a New Package

Please refer to CONTRIBUTING.md for the standard process of adding and maintaining packages.

Each package directory now lives under packages/<pkgname>/ and keeps only:

  • package.toml as the PackageSpec v1 source of truth
  • optional hooks.sh for special upstream logic
  • optional files/ for static assets such as service units or licenses

PKGBUILD and .SRCINFO are generated only in temporary workspaces during local runs and CI.

🔑 Integration & Secrets

For detailed setup instructions, including required publishing secrets (AUR_SSH_PRIVATE_KEY, AUR_USERNAME, and AUR_EMAIL) and global configuration, please refer to INTEGRATION.md.


Maintained by orange-guo

About

My collection of maintained AUR packages, automatically updated via GitHub Actions.

Topics

Resources

Contributing

Stars

Watchers

Forks

Contributors