53 lines
1.4 KiB
Markdown
53 lines
1.4 KiB
Markdown
# Fruix
|
|
|
|
`fruix` is the canonical Fruix repo/channel.
|
|
|
|
This repo is the long-lived source of truth for Fruix package, system, installer, deployment, and node-management logic.
|
|
|
|
## Scope
|
|
|
|
Canonical Fruix content belongs here:
|
|
|
|
- package definitions
|
|
- system definitions
|
|
- source and promotion logic
|
|
- installer artifacts and future TUI installer
|
|
- deployment and installed-node lifecycle logic
|
|
- long-lived metadata formats
|
|
|
|
`fruix-bootstrap` is separate and only exists to turn a plain FreeBSD host into a **Fruix builder** that can evaluate and materialize this repo.
|
|
|
|
## Original channel URL
|
|
|
|
The baked-in original channel URL is:
|
|
|
|
- `https://git.teralink.net/self/fruix.git`
|
|
|
|
Bootstrap wrappers may default to that origin while local development uses a sibling checkout such as:
|
|
|
|
- `../fruix`
|
|
|
|
## Current layout
|
|
|
|
- `bin/fruix` — direct checkout entrypoint when dependencies are already available
|
|
- `scripts/fruix.scm` — canonical CLI implementation
|
|
- `modules/fruix/...` — canonical Fruix modules
|
|
|
|
The direct checkout entrypoint now also prefers a prepared builder root at:
|
|
|
|
- `~/.local/opt/fruix-builder`
|
|
|
|
when `fruix-bootstrap` has already prepared one.
|
|
|
|
## Intended lifecycle
|
|
|
|
```text
|
|
plain FreeBSD
|
|
-> fruix-bootstrap
|
|
-> Fruix builder
|
|
-> pinned fruix checkout
|
|
-> build Fruix artifacts
|
|
-> booted Fruix node
|
|
-> future lifecycle managed by fruix
|
|
```
|