A small package manager built to make distributing software on Linux easier.

The .keg format (also used by the .aro alias) contains the following:

- Shared Libraries

- .desktop files

- Icons

- Application data

- Binaries

An example keg for the app Gophie:

.

├── data

├── desktop

│   └── gophie.desktop

├── Gophie

├── icons

│   └── gophie.png

├── keg-name.txt

└── lib

To update, simply run install.sh again.

Auro supports multiple package repositories. The built-in default repository is http://aurorepo.runbsd.io/pkgs.

auro add-repo <name> <url>- <name>: A unique name for the repository (alphanumeric, underscore, hyphen only)

- <url>: The base URL of the repository (must start with http:// or https://)

Example:

auro add-repo myrepo https://example.com/auro-repoauro remove-repo <name>The built-in default repository cannot be removed.

The configuration is stored at ~/.keg/repositories.conf with tab-separated name\turl entries. You can view it with:

cat ~/.keg/repositories.confWhen running auro repo <package...>, auro searches repositories in this order:

- The built-in defaultrepository (always first)

- User-added repositories in the order they appear in the config file

The first repository containing the requested package supplies it (first-match-wins).

.ikeg and .iaro descriptor files can optionally include a checksum field:

{

"name": "myapp",

"version": "1.0",

"author": "you",

"description": "My app",

"download-url": "https://example.com/app.keg",

"checksum": "a1b2c3d4e5..."

}- If provided, Auro verifies the SHA256 checksum of the downloaded package

- If the checksum is missing, a warning is displayed

- If the checksum does not match, installation fails with an error

- Use --insecureor-Ito disable checksum verification globally

.ikeg and .iaro files can optionally include a deps field:

{

"name": "myapp",

"download-url": "https://example.com/app.keg",

"deps": ["dep1", "dep2", "another-pkg"]

}When deps is present, Auro will install each listed dependency by searching all configured repositories before installing the main package. Dependencies are installed automatically without prompting.

Since Auro itself is distributed as a .keg package, it can update itself from the default repository:

auro updateThis command:

- Fetches the auro.updatefile from the default repository

- Extracts the URL to the latest auro.kegpackage

- Downloads and installs the update, which replaces the binaries in ~/.keg/bin/and/usr/local/bin/

Note: If you have configured additional repositories, you can manually download and install updates from any repo:

auro repo auro

# or

auro get https://example.com/auro.keg