Skip to main content

max / alloy

Mint fw12 with a rust toolchain fw12 could not compile: a stock fedora-bootc mint carries glibc but not glibc-devel, so cargo dies at `error: linker cc not found` and cargo-tools.sh installed zero of eleven tools. LANGS=rust pulls gcc, binutils and glibc-devel along with the language, so naming it here is also what puts cc on the machine. Ruled 2026-09-07 over the two alternatives: layering the toolchain onto the installed machine, and dropping the build clause from infra 1c115df0. The header said the file deliberately set no LANGS, on the grounds that a machine setting no dial was the one proving what an ordinary person installs. Alloy is an operating system for developers and essentially every real mint names a language, so the empty-LANGS mint is the unusual one and that argument runs backwards. The comment now says so.
Co-Authored-By
Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session
https://claude.ai/code/session_01WFBzMprSmNCfvdj2cGZyka
Author: Max Johnson <me@maxj.phd> · 2026-09-07 17:06 UTC
Signed with PGP, not checked
Commit: ebeba0eb25ab9b8403399848191067bcb0ed78b2
Parent: cd44fec
1 file changed, +30 insertions, -4 deletions
@@ -1,9 +1,20 @@
1 1 # fw12 — Framework 12, Intel, second daily driver.
2 2 #
3 - # Deliberately a stock client mint: no PROFILE, no LANGS, no DB. fw12 builds
4 - # nothing and carries no service, so it is the machine that proves the image an
5 - # ordinary person would install, and every dial it sets is a way that proof
6 - # stops being about that image.
3 + # One dial beyond identity, and it is LANGS. Everything else is still stock:
4 + # no PROFILE, no DB.
5 + #
6 + # THIS STILL PROVES THE ORDINARY INSTALL, and the reasoning that says otherwise
7 + # is worth writing down because this file used to carry it. The old header held
8 + # that setting no dial at all was what made fw12 representative. That assumed an
9 + # ordinary Alloy user takes the image as it comes, and Alloy is an operating
10 + # system for developers: essentially every real mint names at least one
11 + # language, so the empty-LANGS mint is the unusual one. fw12 asking for rust
12 + # moves it toward the install most people will actually perform, not away from
13 + # it.
14 + #
15 + # What a no-LANGS mint proves is narrower than it was credited with: that the
16 + # image boots and is usable with nothing added. Worth keeping true, and it does
17 + # not need a permanent machine sitting on it.
7 18 #
8 19 # What it does set is identity, and only because the alternative is a chore.
9 20 # fw12 gets reinstalled every time the image moves far enough to be worth
@@ -17,6 +28,21 @@
17 28 # still lands on the right name.
18 29 ALLOY_HOSTNAME=fw12
19 30
31 + # Ruled 2026-09-07 (Max), over layering the toolchain onto the installed
32 + # machine and over dropping the build clause from infra 1c115df0.
33 + #
34 + # A stock fedora-bootc mint carries no compiler at all: glibc 2.42 is there and
35 + # glibc-devel is not, so cargo dies at `error: linker cc not found` and every
36 + # cargo-installed tool fails to build. `rust` pulls gcc, binutils and
37 + # glibc-devel with it, so naming the language here is also what puts cc on the
38 + # machine. 610 MiB across 16 packages, most of it rust-std-static and
39 + # llvm-libs.
40 + #
41 + # rustup still installs into $HOME on top of this and stays the answer for the
42 + # pinned toolchain the tree builds against. What the image supplies is the C
43 + # toolchain underneath it, which is the half $HOME cannot provide.
44 + LANGS=rust
45 +
20 46 # fw13's public key, read at mint time rather than committed: this repo is
21 47 # public, and a key pasted into it would also go stale silently. The installer
22 48 # seeds its account step from the baked key, so a reinstalled fw12 comes up