max / alloy
- Co-Authored-By
- Claude Opus 5 (1M context) <noreply@anthropic.com>
1 file changed,
+49 insertions,
-3 deletions
| @@ -747,8 +747,9 @@ | |||
| 747 | 747 | # own comment. Add to it when something is required; add to the | |
| 748 | 748 | # curated groups only with a STACK.md entry behind it. | |
| 749 | 749 | # | |
| 750 | - | # Sources noted per group. Anything absent from both Fedora main and | |
| 751 | - | # Terra is downloaded directly (Nerd Fonts, in the layer above). The | |
| 750 | + | # Sources noted per group. Nothing is downloaded directly any more: the | |
| 751 | + | # fonts were the last of it and the image cuts its own now (the | |
| 752 | + | # `quasi-type` stage above, docs/STACK.md#fonts). The | |
| 752 | 753 | # `flatpak` client is installed as the `sandboxed` level of the isolation | |
| 753 | 754 | # dial, which is also how users pull on-demand apps from Flathub | |
| 754 | 755 | # post-install; no Flatpaks are provisioned at build or first-boot | |
| @@ -761,11 +762,56 @@ | |||
| 761 | 762 | # question about the machine rather than about taste: a package is here | |
| 762 | 763 | # if a headless box still has a use for it, and in the client block below | |
| 763 | 764 | # if it needs a compositor, a screen, or a person sitting at one. | |
| 765 | + | # | |
| 766 | + | # WEAK DEPENDENCIES OFF, the same as the client block below, and it took a | |
| 767 | + | # measurement to notice they were on here. The lean profile was accepting | |
| 768 | + | # recommends while the fat one refused them, which is backwards, and the | |
| 769 | + | # asymmetry was invisible because a recommend is by definition a package | |
| 770 | + | # nobody named. Resolved 2026-08-17 against fedora-bootc:43 with terra and | |
| 771 | + | # varlad/yazi: this list pulled 142 packages and 199 MiB with recommends | |
| 772 | + | # on, and 114 packages and 98 MiB with them off. | |
| 773 | + | # | |
| 774 | + | # What the flag sheds is not incidental. helix recommends a C toolchain | |
| 775 | + | # (gcc, cpp, binutils, make, libstdc++-devel, gcc-c++), and helix and | |
| 776 | + | # gopass between them recommend wl-clipboard, xsel, xdg-utils and libX11. | |
| 777 | + | # On `server` not one of those can run: there is no compositor and no X. | |
| 778 | + | # On `client` the clipboard tools are named explicitly further down, so | |
| 779 | + | # nothing there loses them. | |
| 780 | + | # | |
| 781 | + | # Measured on the built images rather than predicted, because the | |
| 782 | + | # prediction was half wrong: gcc-c++, libstdc++-devel, xsel, xdg-utils, | |
| 783 | + | # libX11 and man-pages are gone from `server`, and gcc, cpp, binutils and | |
| 784 | + | # make are STILL THERE. `LANGS` defaults to rust and is unconditional, and | |
| 785 | + | # rust requires them, which the LANGS block further down says outright. | |
| 786 | + | # So the C compiler on a headless box is a language decision and not an | |
| 787 | + | # accident, and it is the LANGS default that would have to change to shed | |
| 788 | + | # it. The flag removes the C++ half and the X half; it does not remove the | |
| 789 | + | # toolchain. | |
| 790 | + | # | |
| 791 | + | # One recommend IS wanted and is now named below rather than inherited: | |
| 792 | + | # `helix-parsers`. It is 185 MiB of tree-sitter grammars and it is what | |
| 793 | + | # makes the editor highlight anything, so taking the flag without naming | |
| 794 | + | # it would have shipped an editor that renders every file as plain text | |
| 795 | + | # and said nothing about why. That is the trade the flag makes visible: | |
| 796 | + | # the answer is to name what is wanted, not to keep taking everything. | |
| 797 | + | # | |
| 798 | + | # NOT SUBTRACTABLE, stated so nobody re-measures it: `gopass` REQUIRES | |
| 799 | + | # `fish`, hard, 39.3 MiB, and it survives the flag. A second interactive | |
| 800 | + | # shell that nothing in the image runs, in both profiles, because Fedora's | |
| 801 | + | # spec requires the completions rather than recommending them. Either | |
| 802 | + | # gopass goes or the weight is accepted; it was chosen deliberately | |
| 803 | + | # (2026-07-30) so it stays until somebody decides otherwise. | |
| 764 | 804 | # --------------------------------------------------------------------- | |
| 765 | - | RUN dnf install -y \ | |
| 805 | + | RUN dnf install -y --setopt=install_weak_deps=False \ | |
| 766 | 806 | # Editor, shell, prompt. The terminal is not here: shop is built from | |
| 767 | 807 | # source in the rust-build stage and copied in below. | |
| 808 | + | # | |
| 809 | + | # helix-parsers is the tree-sitter grammar set, named because the | |
| 810 | + | # line above turns recommends off and it arrived as one. Without it | |
| 811 | + | # helix opens every file unhighlighted, which is the quietest way | |
| 812 | + | # this image could get worse. | |
| 768 | 813 | helix \ | |
| 814 | + | helix-parsers \ | |
| 769 | 815 | nushell \ | |
| 770 | 816 | starship \ | |
| 771 | 817 | zoxide \ |