| 1 |
|
- |
# fw12 — Framework 12, Intel, second daily driver.
|
|
1 |
+ |
# fw12 — Framework 12, Intel. The portable half of a two-machine pair.
|
| 2 |
2 |
|
#
|
| 3 |
|
- |
# One dial beyond identity, and it is LANGS. Everything else is still stock:
|
| 4 |
|
- |
# no PROFILE, no DB.
|
|
3 |
+ |
# RECLASSIFIED 2026-09-07 (Max): "Lets stop treating fw12 as a minimal testbed
|
|
4 |
+ |
# and plan to have it essentially mirror fw13. fw13 is probably going to be a
|
|
5 |
+ |
# stay at home machine for awhile, always on. fw12 is the better portable
|
|
6 |
+ |
# machine, but ideally is a near mirror image."
|
| 5 |
7 |
|
#
|
| 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.
|
|
8 |
+ |
# So the dials below are fw13's, and that is the whole design of this file now.
|
|
9 |
+ |
# Where the two differ it is identity and hardware, never capability. If fw13
|
|
10 |
+ |
# gains a dial, this file gains it in the same commit; a divergence here is a
|
|
11 |
+ |
# bug rather than a choice, and build/hosts/fw12.requires is what catches one.
|
| 14 |
12 |
|
#
|
| 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.
|
|
13 |
+ |
# WHAT THIS FILE USED TO BE, said plainly because two earlier headers argued
|
|
14 |
+ |
# for it. fw12 was the stock client mint, the machine that proved what an
|
|
15 |
+ |
# ordinary person installs, and it set no dial on purpose. That reading died in
|
|
16 |
+ |
# two steps on the same day: first because Alloy is an operating system for
|
|
17 |
+ |
# developers, so an empty-LANGS mint is the unusual install rather than the
|
|
18 |
+ |
# representative one, and then because the pair is not one daily driver and one
|
|
19 |
+ |
# testbed. It is a desk machine and a machine that leaves the house, and the
|
|
20 |
+ |
# only thing a person carrying the portable one wants is for it to be the
|
|
21 |
+ |
# machine they left.
|
| 18 |
22 |
|
#
|
| 19 |
|
- |
# What it does set is identity, and only because the alternative is a chore.
|
|
23 |
+ |
# Nothing now proves the bare mint on hardware. That is accepted: the property
|
|
24 |
+ |
# it demonstrated is that the image boots and is usable with nothing added, and
|
|
25 |
+ |
# a VM answers that as well as a laptop does.
|
|
26 |
+ |
#
|
|
27 |
+ |
# The cost of the mirror is size and build time, both paid at mint. fw12 now
|
|
28 |
+ |
# carries the Tauri GUI set, PostgreSQL 16 and four language toolchains it
|
|
29 |
+ |
# would not have asked for as a testbed.
|
|
30 |
+ |
#
|
|
31 |
+ |
# What it also sets is identity, and only because the alternative is a chore.
|
| 20 |
32 |
|
# fw12 gets reinstalled every time the image moves far enough to be worth
|
| 21 |
33 |
|
# re-proving, and a machine that needs a person at the keyboard to become
|
| 22 |
34 |
|
# reachable afterwards is how the last round of hardware verification turned
|
| 28 |
40 |
|
# still lands on the right name.
|
| 29 |
41 |
|
ALLOY_HOSTNAME=fw12
|
| 30 |
42 |
|
|
| 31 |
|
- |
# Ruled 2026-09-07 (Max), over layering the toolchain onto the installed
|
| 32 |
|
- |
# machine and over dropping the build clause from infra 1c115df0.
|
|
43 |
+ |
# THE DIALS, mirrored from build/hosts/fw13.env. Read that file for what each
|
|
44 |
+ |
# one costs; the reasons are the same reasons and are not restated here.
|
| 33 |
45 |
|
#
|
| 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.
|
|
46 |
+ |
# LANGS. rust is what the tree is written in and is also what puts a C
|
|
47 |
+ |
# toolchain on the machine: a stock fedora-bootc mint has glibc and not
|
|
48 |
+ |
# glibc-devel, so without it cargo dies at `error: linker cc not found`. c adds
|
|
49 |
+ |
# the compilers and build systems for an arbitrary checkout. js builds MNW's
|
|
50 |
+ |
# frontends. go is blessed for Make Creative software where it is warranted.
|
|
51 |
+ |
LANGS=rust,c,js,go
|
|
52 |
+ |
|
|
53 |
+ |
# GUI. The Tauri build set: webkit2gtk, gtk3, libsoup3, librsvg and openssl,
|
|
54 |
+ |
# all as -devel. Without it this machine cannot build goingson,
|
|
55 |
+ |
# balanced_breakfast or audiofiles.
|
| 40 |
56 |
|
#
|
| 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 |
|
- |
#
|
| 45 |
|
- |
# go rides along from 2026-09-07, when Max blessed Go for Make Creative
|
| 46 |
|
- |
# software where it is warranted. Nothing in ~/Code is Go today, so this is
|
| 47 |
|
- |
# provision rather than need: the point of blessing a language is that the
|
| 48 |
|
- |
# machines can already build it when somebody uses it. 356 MB. It also covers
|
| 49 |
|
- |
# the Go tier of what this image ships, which is syncthing, restic, tailscale,
|
| 50 |
|
- |
# direnv, fzf, gopass and cliphist.
|
| 51 |
|
- |
LANGS=rust,c,go
|
|
57 |
+ |
# It is also what carries openssl-devel, and that is worth knowing rather than
|
|
58 |
+ |
# rediscovering: measured 2026-09-07 on a fw12 with LANGS=rust,c,go and no GUI
|
|
59 |
+ |
# dial, `cargo install sccache` failed at `Package openssl was not found in the
|
|
60 |
+ |
# pkg-config search path` and took four of the eleven recorded tools with it.
|
|
61 |
+ |
# fw13 and astra never saw that because their GUI dial had been supplying the
|
|
62 |
+ |
# header all along.
|
|
63 |
+ |
GUI=tauri
|
|
64 |
+ |
|
|
65 |
+ |
# DB. PostgreSQL 16 binaries and no cluster, matching fw13. The major matters:
|
|
66 |
+ |
# it is what production runs and what a restored dump expects.
|
|
67 |
+ |
DB=postgres16
|
| 52 |
68 |
|
|
| 53 |
69 |
|
# fw13's public key, read at mint time rather than committed: this repo is
|
| 54 |
70 |
|
# public, and a key pasted into it would also go stale silently. The installer
|