Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/CircuitCoder/mirror-recipes
https://github.com/CircuitCoder/mirror-recipes
Last synced: 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/CircuitCoder/mirror-recipes
- Owner: CircuitCoder
- License: mit
- Created: 2021-02-17T20:12:31.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2021-05-04T05:48:58.000Z (over 3 years ago)
- Last Synced: 2024-11-09T21:03:05.008Z (2 months ago)
- Language: Rust
- Homepage: https://mirror-recipes.thu.fail
- Size: 701 KB
- Stars: 5
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# mirror-recipes
This is a WIP effort to provider general recipes for applying mirrors of various opensource projects. The recipes can be executed (with a driver) as a script, used as a source to render help entries, or directly used as a reference for command-line users.
## Well-known parameters names
Some special parameters are automatically detected in a best-effort manner. These include:- ARCH: Host archetecture
- OS: Host OS
- DIST: Host Linux distribution (Only when running on Linux)Note that these parameters are just plain parameters in other aspects. So to use them, script must list them in the params sections.
## Site presets
Well-known mirrors have presets for various recipes. For example, using the TUNA preset on the ubuntu recipe avoids manually setting the BASE parameter.## Step types
A step may have one of the following three types:- replace-file: Replace(or create) a file at a specific path
- run: Run a command/script (optionally specifying a interpreter)
- manually: Do something manually. Driver will spin up a shell## Decisions to be made
This is a WIP effort. Some important design descisions are still to be made:- [ ] Recipes are also intended to serve as manuals. How to do i18n?
- [ ] Do we need complex procedure conditions? (Beyond AND-ing param checks)
- [ ] Do we need a way to skip a certain step (in a procedure or in general)?
- [x] Option `--from` has been added to driver
- [ ] Embedding procedures! (It's getting close to being turing-complete)
- [x] Well-known script interpreter names? (Optionally for highlighting code chunks)
- Now interpreters are searched within PATH, so we can use well-known names
- An POC driver is written in Rust, so we get CLI options / readline / highlighting easily. How to distribute statically-linked executables to multiple OSes?
- [x] Recursive variable expansion?
- [ ] Preset inheritance
- [ ] Packed preset/recipe distribution for simpler updating
- [ ] Viewing recipe with driver