system: validate development environment overlay

This commit is contained in:
2026-04-05 11:56:06 +02:00
parent 4975084baa
commit 9e9a0b59fc
10 changed files with 612 additions and 36 deletions

View File

@@ -1,6 +1,6 @@
# Fruix system deployment workflow
Date: 2026-04-04
Date: 2026-04-05
## Purpose
@@ -197,6 +197,32 @@ Important current limitation:
- `fruix system switch` does **not** yet fetch or copy the candidate closure onto the target for you
- it assumes the selected closure is already present in the installed system's `/frx/store`
### In-guest development environment
Opt-in systems can also expose a separate development overlay under:
- `/run/current-system/development-profile`
- `/run/current-development`
Those systems now ship a helper at:
- `/usr/local/bin/fruix-development-environment`
Intended use:
```sh
eval "$(/usr/local/bin/fruix-development-environment)"
```
That helper exports a development-oriented environment while keeping the main runtime profile separate. The validated Phase 20.1 path currently uses this to expose at least:
- native headers under `usr/include`
- FreeBSD `share/mk` files for `bsd.*.mk`
- Clang toolchain commands such as `cc`, `c++`, `ar`, `ranlib`, and `nm`
- `MAKEFLAGS` pointing at the development profile's `usr/share/mk`
This is the current Fruix-native way to make a running system suitable for controlled native base-development work without merging development content back into the main runtime profile.
## Deployment patterns
### 1. Build-first workflow