The Timeless Stack is composed of several components, each with its own source repo:
||github||R-I/O stands for Repeatable Input/Output: it’s tooling for packing Filesets into Wares, mirroring Wares between storage systems, and unpacking Filesets fetched by WareID. Glue for getting files to and from other systems, in other words.|
||github||Repeatr evaluates formulas.
||github||Reach builds larger pipelines: use it to stich together several formulas by passing wares between them. Entire pipelines quickly rebuild incrementally, automatically memoizing any steps that haven’t changed.|
|these docs!||github||This documentation is open-source and patches welcome :)|
You can build each of these projects from source individually, and put the resulting binaries on your $PATH.
For the most part, however, we bundle all of these together and ship them as a unit for other users: we call this aggregate the Timeless Stack “omnibus” release.
“Omnibus” releases contain all of the pre-built
They are available for download from the releases page of the github project: https://github.com/polydawn/timeless/releases .
You can unpack this tarball anywhere you want. All of the bundled binaries are statically linked, and should run on any system, as long as you’ve selected an OS/architecture that’s runnable on your host.
(If you just want to get started, skip this section.)
If you’re interested in how the omnibus is built, look to the source:
The omnibus is actually built in two independent paths, each of which produces identical results:
module.tlfile in that dir can be evaluated by
build.shfile in that dir can be evaluated by plain bash.
It’s the result of these builds that is uploaded to the github releases page. You should be able to reproduce the release binaries identically by using either of these processes!