Install with recommends, and add gh and glab #2
Loading…
Reference in a new issue
No description provided.
Delete branch "recommends-and-forge-clis"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Drops
--no-install-recommendsfrom every install in stage 2, and addsghandglab.Why
The flag is server practice: on a server a lean root is the point. This is a desktop, and enough of what makes a desktop work is recommended rather than depended on that the flag was silently costing us things we'd otherwise have to discover and add one at a time.
What turning recommends on actually brings in:
intel-microcode,amd64-microcodefirmware-linux; CPU microcode updatesfirmware-intel-graphics,-intel-misc,-mediatek,-nvidia-graphicsfirmware-misc-nonfreeshim-signedpasst,slirp4netns,aardvark-dns,catatonit,fuse-overlayfs,containers-storageuidmapalone was not enoughgir1.2-spiceclientgtk-3.0,qemu-system-gui,qemu-system-modules-spice/-openglxxd,python3-pynvimnftables,mdadm,efibootmgr,apparmorWhat it costs
Measured, not estimated: I resolved both configurations against the real trixie
main/contrib/non-free-firmwareindices withapt-get --simulatein an offline apt root, group by group, in Containerfile order.gh,glab)The bulk of the increase is two things, both on the terminal-tooling line:
npm→node-gyp→build-essential, dragginggcc-14,g++-14,binutils,libc6-dev, plusnode-tapandnodejs-docbuildah(~126 MiB), recommended bypodmanIf 746 MiB per image pull is more than you want, the cheap carve-out is to split
npmonto its own--no-install-recommendsline — that recovers roughly 250 MiB and loses nothing the desktop uses. Say the word and I'll add it; I left it out to keep the rule uniform.initramfs-tools
Worth stating explicitly, since it is the one thing that could have broken the boot path:
intel-microcoderecommendsinitramfs-toolswith no alternative, andamd64-microcoderecommendsinitramfs-tools | dracut | tiny-initramfs. BecausedracutdeclaresConflicts: initramfs-tools, apt drops that recommend rather than installing a second initramfs generator. Confirmed absent in the simulated result.gh and glab
Both are in trixie
main—gh2.46.0-3,glab1.53.0-1 — so neither needs GitHub's or GitLab's apt repo, contrary to what the README claimed. Those rows are removed.The Gitea CLI is not the same story and stays a release binary: Debian does ship a package called
tea, but it is an unrelated GUI text editor.Also corrected in the README
steam-installeris incontrib, which this image already enables — notnon-free. Only i386 multiarch is missing.ffmpegalready linkslibx264andlibx265, so H.264/H.265 playback was never the gap.chromiumis inmain, noted next to the Chrome row.Not in this PR
Recommends do not close the biggest gap I found while comparing against os3: no wifi or audio firmware is installed.
firmware-iwlwifi,firmware-realtek,firmware-atheros,firmware-brcm80211andfirmware-sof-signedare recommended by nothing in the tree, so they stay absent — on a laptop image whoseapt-sources.shenablesnon-free-firmwarespecifically so that wifi comes up. That wants its own one-line commit; happy to send it separately.Other os3 parity gaps, same story:
gstreamer1.0-plugins-ugly, thedomain-clientset (sssd,realmd,adcli,krb5-user,oddjob-mkhomedir), LibreOffice for os3'slxqt-office, printer drivers (printer-driver-gutenprint,hplip),virt-viewer,thermald,systemd-zram-generator.Testing
Not built. The resolution is verified against the archive as described above, but nothing here has been through
podman buildor booted.Drop --no-install-recommends from every install in stage 2 and add gh and glab to the terminal-tooling line. The flag was inherited from server practice, where a lean root is the goal. This image is a desktop, and enough of what makes a desktop work is recommended rather than depended on that the flag was quietly costing us things we would otherwise have to notice one at a time: * intel-microcode and amd64-microcode, recommended by firmware-linux * firmware-intel-graphics, -intel-misc, -mediatek, -nvidia-graphics * shim-signed * podman's rootless networking: passt, slirp4netns, aardvark-dns, plus catatonit, fuse-overlayfs, containers-storage * virt-manager's SPICE console and qemu's display/OpenGL modules * neovim's xxd and python3-pynvim Measured against the trixie indices with apt --simulate: +183 packages and +746 MiB installed, gh and glab included. The bulk of that is a C toolchain pulled through npm -> node-gyp -> build-essential (~180 MiB) and buildah from podman (~126 MiB). dracut Conflicts: initramfs-tools, so the microcode packages' recommend on initramfs-tools is dropped by apt rather than installing a second initramfs generator alongside the one this image uses. Verified in the simulation. gh and glab are both in trixie main -- no third-party repo needed, contrary to what the README said. The Gitea CLI still needs its release binary: Debian's `tea` package is an unrelated text editor. Stage 1 keeps the flag. Nothing there is shipped -- only /output is copied into stage 2 -- so recommends there would cost build time and buy the image nothing. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FTfEFdtzmNidPVTQ6X5bLK