allay is a package manager for CC: Tweaked.
Most CC software gets installed with wget run, which is fine until you're
installing programs that depend on other programs that depend on libraries
you didn't know existed. Then you're managing a small forest of files by
hand, and updates are an exercise in patience.
allay handles the actual problem. Dependencies install themselves, updates apply across everything at once, and removals can clean up the things that came along just for the package you're removing.
wget run https://raw.githubusercontent.com/allaycc/allay/main/install.lua
allay install <package>
allay install gh:user/repo[@ref]
allay install gh:user/repo[@ref] -- <installer args>
allay update
allay search <query>
allay help
For GitHub repos that ship their own installer, allay can run the upstream installer under observation and record the files, fetches, and shell launches it performed. The install remains removable and updateable through allay.
Sources are configured at /etc/allay/sources.lua. Add one with:
allay source add <user/repo> # GitHub shorthand
allay source add https://example.com/ # any HTTPS URL
allay supports HTTPS and floppy-disk sources out of the box. For rednet
sources, install allay-rednet-transport. Packages in unicornpkg format
work too (after allay install alicorn).
Drop an allay.lua in your repo, list it in your source's index.lua,
and tag a release. See allay-spec
for the format.
This repo contains allay's CLI and core libraries.
bin/allay.lua— the CLI entry pointlib/— internal modulesinstall.lua— bootstrap installertests/— test suites
Related repos:
- allay-spec — file format documentation
- allay-core — default source catalog (allay's own libs as packages)
- lualibs — source code for hash, httpkit, pathkit, log, argparse
- allay-rednet-transport — rednet:// transport extension
- allay-server — rednet package host
- alicorn — read packages in unicornpkg's format
cd tests && lua run_all.lua
MIT.