Official APT repository infrastructure for AnimaOS. It distributes Debian packages through signed repository metadata, with package acquisition and publication automated through GitHub Actions, Aptly, GPG and GitHub Pages.
APT repository: https://anima-oss.github.io/apt/
The repository can distribute packages from Releases hosted in this repository or in other public GitHub repositories. Upstream .deb files are downloaded during the publication workflow; they do not need to be copied into this repository's Releases.
| Property | Value |
|---|---|
| Distribution | Debian 13 Trixie |
| Component | main |
| Published architectures | amd64, all |
| Current package architecture | amd64 |
| Package format | Debian .deb |
| Repository manager | Aptly |
| Repository signing | GPG-signed metadata (InRelease) |
| CI/CD | GitHub Actions |
| Hosting | GitHub Pages |
| Status | Operational |
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://anima-oss.github.io/apt/anima-archive-keyring.gpg \
-o /etc/apt/keyrings/anima-archive-keyring.gpg
sudo chmod 0644 /etc/apt/keyrings/anima-archive-keyring.gpgecho "deb [arch=amd64 signed-by=/etc/apt/keyrings/anima-archive-keyring.gpg] https://anima-oss.github.io/apt trixie main" \
| sudo tee /etc/apt/sources.list.d/anima-oss.listsudo apt updateInstall either application:
sudo apt install anima-control
sudo apt install anima-booterOr install both:
sudo apt install anima-control anima-booterOnce the repository is configured, APT handles package downloads, installation and subsequent upgrades through the standard package manager.
The repository currently publishes 2 packages:
| Debian package | Application | Version | Architecture | Description |
|---|---|---|---|---|
anima-control |
ANIMA Control Center | 0.1.0 |
amd64 |
Management tools for the AnimaOS desktop environment |
anima-booter |
AnimaBooter | 0.1.0 |
amd64 |
Cross-platform USB imaging utility with verification and destructive-safety features |
ANIMA Control Center for managing the AnimaOS desktop environment.
Its current feature set includes:
- Network management
- Display configuration
- System diagnostics and system information
- Storage management and disk health
- Battery information
- Software and model management
- Bookmarks and calendar
- Partition management
- Terminal access
Install:
sudo apt install anima-controlAnimaBooter is a cross-platform USB imaging utility. The APT repository distributes the official Debian package attached to the upstream marrionesa/animabooter GitHub Release. The upstream package is consumed as published; this repository does not rebuild or modify it.
Upstream project and release:
Install:
sudo apt install anima-booterThe package catalog in config/packages.yml is the source of truth for the packages included in each publication. Each enabled entry identifies:
- Debian package name, expected version and architecture.
- Upstream GitHub repository and Release tag.
- Exact
.debasset filename to download. - Whether the package is enabled for publication.
For every run, the workflow:
- Checks out this repository and installs the build dependencies, including Aptly and PyYAML.
- Runs the infrastructure tests.
- Imports the private GPG signing key from GitHub Actions secrets.
- Runs
scripts/download-packages.pyto readconfig/packages.ymland download each enabled asset from its specified GitHub Release. - Validates the downloaded asset's availability, size and Debian package metadata. It also checks the GitHub SHA-256 digest when the Release API provides one.
- Runs
scripts/publish.shto build a fresh APT repository from the downloaded.debpackages. - Exports the public key, signs the repository metadata and verifies the generated
InReleasefile. - Publishes the generated repository through GitHub Pages.
The workflow is triggered by either:
- Manual dispatch (
workflow_dispatch) from GitHub Actions. - A published Release in
anima-oss/apt(release: published).
A Release published in an upstream repository such as marrionesa/animabooter does not, by itself, trigger this repository's workflow. After updating an upstream package entry in config/packages.yml, run Publish AnimaOS APT Repository manually from the Actions tab.
-
Publish the upstream
.debin a GitHub Release (or select an existing Release asset). -
Add or update its entry in
config/packages.yml, including the exact Release tag and asset filename. Keep all existing packages that should remain in the repository enabled. -
Run the local validation tests:
./tests/run.sh
-
Commit and push the catalog or workflow changes to
main. -
In GitHub, open Actions → Publish AnimaOS APT Repository → Run workflow.
-
Confirm that the run succeeds and that GitHub Pages deploys the generated repository.
-
Verify publication from a client:
sudo apt update apt-cache policy anima-booter apt-cache madison anima-booter
A new Release in anima-oss/apt is not required when adding a package whose .deb is hosted in another repository. The catalog and the publication workflow control package inclusion.
Run the repository validation suite from the project root:
./tests/run.shThe tests check shell and Python syntax, the package catalog, Aptly configuration, Debian package validation and rejection of invalid input.
- APT repository metadata is GPG-signed and published as
InRelease. - The public signing key is distributed separately from the private key.
- The private signing key and key ID are stored in GitHub Actions secrets (
APT_GPG_PRIVATE_KEYandAPT_GPG_KEY_ID). - Downloaded package assets are checked before they enter the repository publication process.
- Upstream
.debfiles are referenced by exact repository, tag and asset name in the package catalog. - Generated package files, local Aptly state and private signing material must not be committed to Git.
- APT Repository: https://anima-oss.github.io/apt/
- GitHub Repository: https://github.com/anima-oss/apt
- GitHub Releases: https://github.com/anima-oss/apt/releases
- AnimaBooter: https://github.com/marrionesa/animabooter
- Client Setup: docs/client-setup.md
- Package Maintenance: docs/package-maintenance.md
Anima OSS APT is maintained as part of the AnimaOS software distribution infrastructure. Package inclusion and upstream versions are managed through config/packages.yml; repository generation and publication are handled by the automated workflow.
