Skip to main content

max / alloy

Add the credits manifest for the installer's last page Curated, not generated: a short list of the projects Alloy is built out of, for the final screen before a disk gets repartitioned. The full closure stays in /usr/share/licenses on the installed system. 74 projects across eight sections. Licenses came from two sources and not from memory. The C packages were read out of a built image with rpm -q --qf '%{LICENSE}'. The Rust and Go packages could not be: Fedora records every vendored crate in that one field, so helix reports forty terms and none of them is MPL-2.0, and satty reports a literal unexpanded %{SourceLicense}. Those came from upstream's own LICENSE. The rule is written into the file header so the next refresh does not trust rpm where it should not. The page that renders this is not built yet — GoingsOn alloy task 2f45ef15 carries the wizard step, which lands after Summary and takes the install trigger with it.
Co-Authored-By
Claude Opus 5 (1M context) <noreply@anthropic.com>
Author: Max Johnson <me@maxj.phd> · 2026-07-30 19:11 UTC
Signed with PGP, not checked
Commit: 147e2930f9005604bd44984bbed54082f3acf9f1
Parent: 710a02a
1 file changed, +431 insertions, -0 deletions
@@ -1,0 +1,431 @@
1 + # The credits page of `alloy install`, embedded into the console binary.
2 + #
3 + # Curated, not generated. The installed system carries the full closure in
4 + # /usr/share/licenses; this is the short list of projects Alloy is built out of,
5 + # named so the last screen before a disk gets repartitioned says who wrote what
6 + # is about to be written to it.
7 + #
8 + # `license` is the project's own license, not the SPDX soup an rpm reports.
9 + # Fedora's Rust and Go packages record the license of every vendored crate or
10 + # module in one `%{LICENSE}` field, so `rpm -q --qf '%{LICENSE}'` on helix
11 + # returns forty terms and none of them is MPL-2.0. Read upstream's own LICENSE
12 + # for those, and use rpm only for the C packages, where the field means what it
13 + # looks like it means.
14 + #
15 + # Keeping it current is a release step, not a background chore: a package added
16 + # to the Containerfile and not added here makes this page quietly wrong. See
17 + # docs/IMAGE.md.
18 + #
19 + # Verified against localhost/alloy:local (built 2026-07-18) and upstream
20 + # repositories on 2026-07-30.
21 +
22 + [[section]]
23 + title = "alloy"
24 +
25 + [[section.project]]
26 + name = "Alloy"
27 + license = "MIT"
28 + url = "https://makenot.work/git/max/alloy"
29 + note = "Max Johnson, Make Creative, LLC"
30 +
31 + [[section.project]]
32 + name = "alloy_tui"
33 + license = "MIT"
34 + url = "https://crates.io/crates/alloy_tui"
35 + note = "the console's widgets"
36 +
37 + [[section.project]]
38 + name = "makeover"
39 + license = "MIT"
40 + url = "https://crates.io/crates/makeover"
41 + note = "theme loading"
42 +
43 + [[section]]
44 + title = "the system underneath"
45 +
46 + [[section.project]]
47 + name = "Linux"
48 + license = "GPL-2.0-only WITH Linux-syscall-note"
49 + url = "https://kernel.org"
50 +
51 + [[section.project]]
52 + name = "systemd"
53 + license = "LGPL-2.1-or-later"
54 + url = "https://systemd.io"
55 +
56 + [[section.project]]
57 + name = "Fedora"
58 + license = "MIT"
59 + url = "https://fedoraproject.org"
60 + note = "fedora-bootc is the base image; each package it carries keeps its own license"
61 +
62 + [[section.project]]
63 + name = "bootc"
64 + license = "Apache-2.0"
65 + url = "https://github.com/bootc-dev/bootc"
66 + note = "does the install this wizard asks the questions for"
67 +
68 + [[section.project]]
69 + name = "libostree"
70 + license = "LGPL-2.0-or-later"
71 + url = "https://github.com/ostreedev/ostree"
72 +
73 + [[section.project]]
74 + name = "bootupd"
75 + license = "Apache-2.0"
76 + url = "https://github.com/coreos/bootupd"
77 +
78 + [[section.project]]
79 + name = "dnf5"
80 + license = "GPL-2.0-or-later"
81 + url = "https://github.com/rpm-software-management/dnf5"
82 +
83 + [[section.project]]
84 + name = "greetd"
85 + license = "GPL-3.0-only"
86 + url = "https://sr.ht/~kennylevinsen/greetd"
87 +
88 + [[section.project]]
89 + name = "tuigreet"
90 + license = "GPL-3.0-only"
91 + url = "https://github.com/apognu/tuigreet"
92 +
93 + [[section.project]]
94 + name = "Avahi"
95 + license = "LGPL-2.1-or-later"
96 + url = "https://avahi.org"
97 +
98 + [[section.project]]
99 + name = "nss-mdns"
100 + license = "LGPL-2.1-or-later"
101 + url = "https://github.com/avahi/nss-mdns"
102 +
103 + [[section.project]]
104 + name = "PipeWire"
105 + license = "MIT"
106 + url = "https://pipewire.org"
107 +
108 + [[section.project]]
109 + name = "WirePlumber"
110 + license = "MIT"
111 + url = "https://pipewire.pages.freedesktop.org/wireplumber"
112 +
113 + [[section.project]]
114 + name = "PulseAudio utilities"
115 + license = "LGPL-2.1-or-later"
116 + url = "https://freedesktop.org/wiki/Software/PulseAudio"
117 + note = "pactl, which alloy audio drives"
118 +
119 + [[section]]
120 + title = "the desktop"
121 +
122 + [[section.project]]
123 + name = "sway"
124 + license = "MIT"
125 + url = "https://swaywm.org"
126 +
127 + [[section.project]]
128 + name = "wlroots"
129 + license = "MIT"
130 + url = "https://gitlab.freedesktop.org/wlroots/wlroots"
131 +
132 + [[section.project]]
133 + name = "mako"
134 + license = "MIT"
135 + url = "https://github.com/emersion/mako"
136 +
137 + [[section.project]]
138 + name = "swww"
139 + license = "GPL-3.0-only"
140 + url = "https://github.com/LGFae/swww"
141 +
142 + [[section.project]]
143 + name = "satty"
144 + license = "MPL-2.0"
145 + url = "https://github.com/gabm/Satty"
146 +
147 + [[section.project]]
148 + name = "swaylock"
149 + license = "MIT"
150 + url = "https://github.com/swaywm/swaylock"
151 +
152 + [[section.project]]
153 + name = "swayidle"
154 + license = "MIT"
155 + url = "https://github.com/swaywm/swayidle"
156 +
157 + [[section.project]]
158 + name = "SwayOSD"
159 + license = "GPL-3.0-only"
160 + url = "https://github.com/ErikReider/SwayOSD"
161 +
162 + [[section.project]]
163 + name = "cliphist"
164 + license = "GPL-3.0-only"
165 + url = "https://github.com/sentriz/cliphist"
166 +
167 + [[section.project]]
168 + name = "wl-clipboard"
169 + license = "GPL-3.0-or-later"
170 + url = "https://github.com/bugaevc/wl-clipboard"
171 +
172 + [[section.project]]
173 + name = "grim"
174 + license = "MIT"
175 + url = "https://sr.ht/~emersion/grim"
176 +
177 + [[section.project]]
178 + name = "slurp"
179 + license = "MIT"
180 + url = "https://github.com/emersion/slurp"
181 +
182 + [[section.project]]
183 + name = "xdg-desktop-portal"
184 + license = "LGPL-2.1-or-later"
185 + url = "https://github.com/flatpak/xdg-desktop-portal"
186 + note = "with the gtk and wlr backends"
187 +
188 + [[section.project]]
189 + name = "gammastep"
190 + license = "GPL-3.0-or-later"
191 + url = "https://gitlab.com/chinstrap/gammastep"
192 +
193 + [[section.project]]
194 + name = "playerctl"
195 + license = "LGPL-3.0-or-later"
196 + url = "https://github.com/altdesktop/playerctl"
197 +
198 + [[section.project]]
199 + name = "Bibata cursor theme"
200 + license = "GPL-3.0-or-later"
201 + url = "https://github.com/ful1e5/Bibata_Cursor"
202 +
203 + [[section.project]]
204 + name = "adw-gtk3"
205 + license = "LGPL-2.1-only"
206 + url = "https://github.com/lassekongo83/adw-gtk3"
207 +
208 + [[section]]
209 + title = "the tools"
210 +
211 + [[section.project]]
212 + name = "Helix"
213 + license = "MPL-2.0"
214 + url = "https://helix-editor.com"
215 +
216 + [[section.project]]
217 + name = "Nushell"
218 + license = "MIT"
219 + url = "https://nushell.sh"
220 +
221 + [[section.project]]
222 + name = "Rio"
223 + license = "MIT"
224 + url = "https://raphamorim.io/rio"
225 +
226 + [[section.project]]
227 + name = "Starship"
228 + license = "ISC"
229 + url = "https://starship.rs"
230 +
231 + [[section.project]]
232 + name = "zoxide"
233 + license = "MIT"
234 + url = "https://github.com/ajeetdsouza/zoxide"
235 +
236 + [[section.project]]
237 + name = "direnv"
238 + license = "MIT"
239 + url = "https://direnv.net"
240 +
241 + [[section.project]]
242 + name = "Yazi"
243 + license = "MIT"
244 + url = "https://yazi-rs.github.io"
245 +
246 + [[section.project]]
247 + name = "fzf"
248 + license = "MIT"
249 + url = "https://github.com/junegunn/fzf"
250 +
251 + [[section.project]]
252 + name = "mpv"
253 + license = "GPL-2.0-or-later"
254 + url = "https://mpv.io"
255 +
256 + [[section.project]]
257 + name = "imv"
258 + license = "MIT"
259 + url = "https://sr.ht/~exec64/imv"
260 +
261 + [[section.project]]
262 + name = "zathura"
263 + license = "Zlib"
264 + url = "https://pwmt.org/projects/zathura"
265 + note = "with the mupdf backend"
266 +
267 + [[section.project]]
268 + name = "bottom"
269 + license = "MIT"
270 + url = "https://github.com/ClementTsang/bottom"
271 +
272 + [[section.project]]
273 + name = "dua-cli"
274 + license = "MIT"
275 + url = "https://github.com/Byron/dua-cli"
276 +
277 + [[section.project]]
278 + name = "Firefox"
279 + license = "MPL-2.0"
280 + url = "https://mozilla.org/firefox"
281 +
282 + [[section.project]]
283 + name = "Git"
284 + license = "GPL-2.0-only"
285 + url = "https://git-scm.com"
286 +
287 + [[section.project]]
288 + name = "jq"
289 + license = "MIT"
290 + url = "https://jqlang.github.io/jq"
291 +
292 + [[section.project]]
293 + name = "Rust"
294 + license = "Apache-2.0 OR MIT"
295 + url = "https://rust-lang.org"
296 + note = "the toolchain, and what the console is written in"
297 +
298 + [[section.project]]
299 + name = "xdg-user-dirs"
300 + license = "GPL-2.0-or-later"
301 + url = "https://freedesktop.org/wiki/Software/xdg-user-dirs"
302 +
303 + [[section]]
304 + title = "continuity and containers"
305 +
306 + [[section.project]]
307 + name = "Tailscale"
308 + license = "BSD-3-Clause"
309 + url = "https://tailscale.com"
310 +
311 + [[section.project]]
312 + name = "Syncthing"
313 + license = "MPL-2.0"
314 + url = "https://syncthing.net"
315 +
316 + [[section.project]]
317 + name = "restic"
318 + license = "BSD-2-Clause"
319 + url = "https://restic.net"
320 +
321 + [[section.project]]
322 + name = "Podman"
323 + license = "Apache-2.0"
324 + url = "https://podman.io"
325 +
326 + [[section.project]]
327 + name = "Flatpak"
328 + license = "LGPL-2.1-or-later"
329 + url = "https://flatpak.org"
330 +
331 + [[section.project]]
332 + name = "Distrobox"
333 + license = "GPL-3.0-only"
334 + url = "https://distrobox.it"
335 +
336 + [[section]]
337 + title = "hardware health"
338 +
339 + [[section.project]]
340 + name = "rasdaemon"
341 + license = "GPL-2.0-only"
342 + url = "https://github.com/mchehab/rasdaemon"
343 +
344 + [[section.project]]
345 + name = "smartmontools"
346 + license = "GPL-2.0-or-later"
347 + url = "https://smartmontools.org"
348 +
349 + [[section.project]]
350 + name = "ipmitool"
351 + license = "BSD-3-Clause"
352 + url = "https://github.com/ipmitool/ipmitool"
353 +
354 + [[section.project]]
355 + name = "lm_sensors"
356 + license = "GPL-2.0-or-later"
357 + url = "https://github.com/lm-sensors/lm-sensors"
358 +
359 + [[section]]
360 + title = "the fonts"
361 +
362 + [[section.project]]
363 + name = "Iosevka"
364 + license = "OFL-1.1"
365 + url = "https://typeof.net/Iosevka"
366 + note = "shipped as IosevkaTerm Nerd Font; the patcher is Nerd Fonts, MIT"
367 +
368 + [[section.project]]
369 + name = "Atkinson Hyperlegible"
370 + license = "OFL-1.1"
371 + url = "https://brailleinstitute.org/freefont"
372 + note = "Braille Institute of America"
373 +
374 + [[section.project]]
375 + name = "Noto"
376 + license = "OFL-1.1"
377 + url = "https://fonts.google.com/noto"
378 + note = "the CJK and other-script coverage behind the browser"
379 +
380 + [[section]]
381 + title = "the crates the console is built from"
382 +
383 + [[section.project]]
384 + name = "ratatui"
385 + license = "MIT"
386 + url = "https://ratatui.rs"
387 +
388 + [[section.project]]
389 + name = "clap"
390 + license = "MIT OR Apache-2.0"
391 + url = "https://github.com/clap-rs/clap"
392 +
393 + [[section.project]]
394 + name = "serde"
395 + license = "MIT OR Apache-2.0"
396 + url = "https://serde.rs"
397 + note = "with serde_json"
398 +
399 + [[section.project]]
400 + name = "toml"
401 + license = "MIT OR Apache-2.0"
402 + url = "https://github.com/toml-rs/toml"
403 + note = "with toml_edit"
404 +
405 + [[section.project]]
406 + name = "anyhow"
407 + license = "MIT OR Apache-2.0"
408 + url = "https://github.com/dtolnay/anyhow"
409 +
410 + [[section.project]]
411 + name = "sha-crypt"
412 + license = "MIT OR Apache-2.0"
413 + url = "https://github.com/RustCrypto/password-hashes"
414 + note = "hashes the account password the wizard takes"
415 +
416 + [[section.project]]
417 + name = "getrandom"
418 + license = "MIT OR Apache-2.0"
419 + url = "https://github.com/rust-random/getrandom"
420 +
421 + [[section.project]]
422 + name = "rusqlite"
423 + license = "MIT"
424 + url = "https://github.com/rusqlite/rusqlite"
425 + note = "the console's settings store"
426 +
427 + [[section.project]]
428 + name = "SQLite"
429 + license = "blessing"
430 + url = "https://sqlite.org"
431 + note = "public domain; bundled through rusqlite"