update installer and docs

This commit is contained in:
Astral
2026-09-01 08:21:01 +02:00
parent 6729f58ed6
commit 6b65014d64
6 changed files with 178 additions and 53 deletions
-19
View File
@@ -1,19 +0,0 @@
# design/index
This directory holds the working design for Keru OS. The code is scaffolding
and not yet functional end-to-end.
## What exists
- `recipe-format.md` — the Kama recipe format (easy/advanced tiers)
- `README.md` (repo root) — project identity + layout
## Open design questions
- **Bootstrapping toolchain**: chicken-and-egg — the first compiler must be
obtained somehow. Options: a documented one-time bootstrap from a binary
seed, or a multi-stage rebuild (host -> minimal -> full). Not yet decided.
- **No dependency resolver**: how upgrades/rebuilds are handled for a system
that's "built once at install." Currently framed as install-time-only.
- **Cache artifacts vs. rebuilds**: whether the build cache stores binaries
for fast re-install or always recompiles.
+83
View File
@@ -0,0 +1,83 @@
# Keru OS — Philosophy
Keru is a source-only Linux distribution built on one governing principle:
> **The OS is a choice, not a conclusion.**
Most distros ship a decision someone else already made for you — a default
init, a default libc, a default filesystem. You inherit it and live with it.
Keru refuses that premise. Every foundational component is a *variable you
resolve at install time*, not a fixed value baked into the distribution.
Every init, every libc, every filesystem, every kernel, every
privilege-elevation tool — all selectable, none forced.
## Anti-opinionated, not opinionated
Keru is not opinionated. It is **anti-opinionated**. An opinionated distro
picks a stack and defends it — *"you get s6 and XFS whether you like it or
not."* Keru is the direct rejection of that. It holds **no opinion** about
which init, libc, filesystem, or daemon you should run, because that decision
belongs to you, not to the distribution.
The distro's only opinion is that you have to form one. After that, it shuts
up and builds exactly what you chose.
## Only what you asked for
The install medium carries **nothing but the installer**. There is no prebuilt
base image, no hidden bloat, no background assumptions. You pick your system,
Keru fetches it and compiles it from source, and the disk reflects exactly
that and nothing more. What gets built is defined by what you chose — not by
what maintainers decided you should have.
## Control without complexity
This is the deliberate bet, and the thing that separates Keru from a
Gentoo-skin. The package manager, **Kama**, is a shell script. It reads a
`make.conf` and runs recipe commands. No dependency solver. No package
database. No compiled manager machinery.
> "Sure, the package manager is in shell, and that compromises performance —
> but it's still faster than many package managers people actually use, and
> the real cost of a build is the compiler, not the meta-machinery around it."
The dependency model is AUR-style ephemeral: build tools are fetched,
compiled, and removed once they've served, so they never accumulate. The
richness lives in the recipes and the profile, not in the machinery. Keru is
the position that package managers became more complex than the packages they
manage, and that the simple version is the right one.
> "A package manager doesn't need a resolver to be honest. It needs to be
> legible — you can read every decision it makes, because every decision is a
> script or a line in make.conf you can see and change."
## Squared with reality
Building every init, every libc, every filesystem from source at install time
requires a working network connection, and the installer is honest about that:
connectivity is a hard gate, and network setup happens inside the installer.
This is what makes "everything is swappable" real rather than aspirational.
The power to choose anything comes from the fact that nothing is prebuilt —
you fetch exactly the parts you picked.
> "You give up the convenience of a prebuilt system so the system you get is
> exactly the one you designed. Speed-to-install is traded for
> fit-to-request. If you want fast and prebaked, a binary distro is right
> there. If you want your machine, this is the one."
## Agreement on choice, not agreement on opinion
The through-line across Keru's lineage is clear: TOML packages, then a
50-line build DSL, then plain shell. And from *opinionated dogma* — "you get
s6 and XFS whether you like it or not" — to *anti-opinionated anything-goes*.
Keru keeps the from-scratch purity while rejecting the fixed dogmas outright.
> "We don't tell you which init to worship or which filesystem to trust. We
> tell you that you have to choose — and then we build exactly that."
The philosophy in one line:
> **A system should be exactly what you chose it to be — selected at install,
> built from source, nothing forced and nothing you didn't ask for.**
And in two words: **anti-opinionated by design.**