Skip to main content

max / alloy

Containerfile: park ironbar/anyrun/wl-screenrec, download atkinson-hyperlegible None of ironbar, anyrun, or wl-screenrec ship in Fedora main, Terra, or the community COPRs (ublue-os/staging, atim, varlad, solopasha, alternateved). Only remaining path is a multi-stage cargo-install build — deferred as a follow-up so we can get a first working base image with everything else. Atkinson Hyperlegible isn't in Fedora 42 repos under any of the expected names; download the Braille Institute release zip directly alongside Iosevka Nerd Font. Both fonts land under /usr/share/fonts.
Co-Authored-By
Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Author: Max Johnson <me@maxj.phd> · 2026-07-04 16:07 UTC
Signed with PGP, not checked
Commit: d23ff0dfb6537a3c0386c20bc5094d2d56046dc1
Parent: c7482d9
1 file changed, +27 insertions, -10 deletions
M Containerfile +27 -10
@@ -55,9 +55,8 @@
55 55 # Compositor and Wayland session (Fedora main)
56 56 niri \
57 57 xdg-desktop-portal xdg-desktop-portal-gtk xdg-desktop-portal-gnome \
58 - # Bar, launcher, notifications, screenshot, wallpaper
59 - ironbar \
60 - anyrun \
58 + # Bar, notifications, screenshot, wallpaper
59 + # (ironbar, anyrun still to source — see cargo-install stage below)
61 60 mako \
62 61 satty \
63 62 swww \
@@ -78,8 +77,8 @@
78 77 bottom \
79 78 dua-cli \
80 79 # Wayland session glue
80 + # (wl-screenrec still to source — see cargo-install stage)
81 81 cliphist \
82 - wl-screenrec \
83 82 swayosd \
84 83 playerctl \
85 84 gammastep \
@@ -90,10 +89,9 @@
90 89 # Greeter
91 90 greetd \
92 91 tuigreet \
93 - # Cursor, GTK theme, fonts
92 + # Cursor, GTK theme
94 93 bibata-cursor-theme \
95 94 adw-gtk3-theme \
96 - atkinson-hyperlegible-next-fonts \
97 95 # Screenshot region-select helper
98 96 slurp \
99 97 # Flatpak for shipping Floorp and Rnote
@@ -103,15 +101,34 @@
103 101 && dnf clean all
104 102
105 103 # =====================================================================
106 - # Nerd Fonts — Fedora doesn't cleanly package per-font Nerd variants,
107 - # so pull IosevkaTerm Nerd Font from the upstream release directly.
104 + # Fonts pulled from upstream releases (not cleanly packaged in Fedora):
105 + # - IosevkaTerm Nerd Font (mono, TUI-safe: no ligatures, has NF glyphs)
106 + # - Atkinson Hyperlegible (sans, high-legibility)
108 107 # =====================================================================
109 - RUN mkdir -p /usr/share/fonts/iosevkaterm-nerd && \
108 + RUN mkdir -p /usr/share/fonts/iosevkaterm-nerd \
109 + /usr/share/fonts/atkinson-hyperlegible && \
110 110 curl -fsSL -o /tmp/iosevkaterm-nf.zip \
111 111 https://github.com/ryanoasis/nerd-fonts/releases/latest/download/IosevkaTerm.zip && \
112 112 unzip -o /tmp/iosevkaterm-nf.zip -d /usr/share/fonts/iosevkaterm-nerd && \
113 113 rm /tmp/iosevkaterm-nf.zip && \
114 - fc-cache -fv /usr/share/fonts/iosevkaterm-nerd
114 + curl -fsSL -o /tmp/atkinson-hyperlegible.zip \
115 + https://brailleinstitute.org/wp-content/uploads/2020/11/Atkinson-Hyperlegible-Font-Print-and-Web-2020-0514.zip && \
116 + unzip -o /tmp/atkinson-hyperlegible.zip -d /tmp/atkinson-extract && \
117 + find /tmp/atkinson-extract -name '*.ttf' -exec cp {} /usr/share/fonts/atkinson-hyperlegible/ \; && \
118 + rm -rf /tmp/atkinson-hyperlegible.zip /tmp/atkinson-extract && \
119 + fc-cache -fv
120 +
121 + # =====================================================================
122 + # TODO(follow-up): multi-stage cargo build for the three Rust tools
123 + # without published Fedora packages — ironbar (bar), anyrun (launcher),
124 + # wl-screenrec (screen recorder). Adds a `FROM fedora:42 as rust-build`
125 + # stage that runs `cargo install`, then copies the binaries to
126 + # /usr/local/bin. Keeps toolchain out of the runtime image.
127 + #
128 + # For now, these are missing from the image; users get niri without a
129 + # bar, anyrun-plugin-less, and no wl-screenrec. Restoring them is the
130 + # next Containerfile change after the base image builds green.
131 + # =====================================================================
115 132
116 133 # =====================================================================
117 134 # Package removals — stock desktop pieces Alloy replaces