Skip to main content

max / alloy

Containerfile: add Terra repo, correct pkg names, move Rnote to Flatpak Terra repo covers most of the Rust/Wayland ecosystem gaps (anyrun, swayosd, swww, starship, yazi, ironbar, satty, wl-screenrec, and more). bibata-cursor-theme is singular (not "themes"). Rnote goes to Flatpak alongside Floorp — upstream-recommended distribution. Nerd Fonts don't have clean per-font Fedora packages; pull the IosevkaTerm bundle from ryanoasis/nerd-fonts releases directly.
Co-Authored-By
Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Author: Max Johnson <me@maxj.phd> · 2026-07-04 15:43 UTC
Signed with PGP, not checked
Commit: 26da70539d83a7141ae6a6a23a07d6eca6841328
Parent: e83b246
1 file changed, +34 insertions, -16 deletions
M Containerfile +34 -16
@@ -12,21 +12,25 @@
12 12 # =====================================================================
13 13 # Third-party repos
14 14 # =====================================================================
15 - # Tailscale is not in Fedora main; drop their .repo file directly
16 - # rather than pulling dnf5-plugins for a one-shot config-manager call.
15 + # Tailscale is not in Fedora main; drop their .repo file directly.
17 16 RUN curl -fsSL -o /etc/yum.repos.d/tailscale.repo \
18 17 https://pkgs.tailscale.com/stable/fedora/tailscale.repo
19 18
20 - # COPRs for packages not yet in Fedora main. Audit and prune as
21 - # packages migrate upstream.
22 - # RUN dnf copr enable -y <copr-owner>/<repo-name>
23 - # e.g. anyrun, satty may need this depending on Fedora version.
19 + # Terra — comprehensive Fedora repo for Wayland / Rust ecosystem
20 + # packages: anyrun, swayosd, swww, starship, and many others.
21 + # https://terra.fyi/
22 + RUN curl -fsSL -o /etc/yum.repos.d/terra.repo \
23 + https://terra.fyi/terra.repo
24 24
25 25 # =====================================================================
26 26 # Package additions — full Alloy stack per docs/STACK.md
27 + #
28 + # Sources noted per group. Anything absent from both Fedora main and
29 + # Terra is either handled via Flatpak (Rnote, Floorp) or downloaded
30 + # directly (Nerd Fonts).
27 31 # =====================================================================
28 32 RUN dnf install -y \
29 - # Compositor and Wayland session
33 + # Compositor and Wayland session (Fedora main)
30 34 niri \
31 35 xdg-desktop-portal xdg-desktop-portal-gtk xdg-desktop-portal-gnome \
32 36 # Bar, launcher, notifications, screenshot, wallpaper
@@ -44,7 +48,6 @@
44 48 direnv \
45 49 # File managers
46 50 yazi \
47 - # cosmic-files (may need COPR or Flatpak — audit)
48 51 # Content viewers
49 52 mpv \
50 53 imv \
@@ -58,26 +61,36 @@
58 61 swayosd \
59 62 playerctl \
60 63 gammastep \
61 - # Notes app (fold-to-notes for FW12)
62 - rnote \
63 64 # Continuity
64 65 tailscale \
65 66 syncthing \
66 67 restic \
67 - # Greeter (pending final pick — greetd + tuigreet planned)
68 + # Greeter
68 69 greetd \
69 70 tuigreet \
70 71 # Cursor, GTK theme, fonts
71 - bibata-cursor-themes \
72 + bibata-cursor-theme \
72 73 adw-gtk3-theme \
73 - nerd-fonts-iosevkaterm \
74 74 atkinson-hyperlegible-fonts \
75 75 # Screenshot region-select helper
76 76 slurp \
77 - # Flatpak for shipping Floorp
77 + # Flatpak for shipping Floorp and Rnote
78 78 flatpak \
79 + # Font tools
80 + unzip fontconfig \
79 81 && dnf clean all
80 82
83 + # =====================================================================
84 + # Nerd Fonts — Fedora doesn't cleanly package per-font Nerd variants,
85 + # so pull IosevkaTerm Nerd Font from the upstream release directly.
86 + # =====================================================================
87 + RUN mkdir -p /usr/share/fonts/iosevkaterm-nerd && \
88 + curl -fsSL -o /tmp/iosevkaterm-nf.zip \
89 + https://github.com/ryanoasis/nerd-fonts/releases/latest/download/IosevkaTerm.zip && \
90 + unzip -o /tmp/iosevkaterm-nf.zip -d /usr/share/fonts/iosevkaterm-nerd && \
91 + rm /tmp/iosevkaterm-nf.zip && \
92 + fc-cache -fv /usr/share/fonts/iosevkaterm-nerd
93 +
81 94 # =====================================================================
82 95 # Package removals — stock desktop pieces Alloy replaces
83 96 # =====================================================================
@@ -91,11 +104,16 @@
91 104 || true
92 105
93 106 # =====================================================================
94 - # Flathub + Floorp
107 + # Flathub + Floorp + Rnote
95 108 # =====================================================================
109 + # Floorp is Flatpak-only. Rnote is available via Fedora but the
110 + # Flatpak track is what upstream recommends for consistent behavior
111 + # under Wayland.
96 112 RUN flatpak remote-add --if-not-exists flathub \
97 113 https://dl.flathub.org/repo/flathub.flatpakrepo && \
98 - flatpak install --system --noninteractive flathub one.ablaze.floorp
114 + flatpak install --system --noninteractive flathub \
115 + one.ablaze.floorp \
116 + com.github.flxzt.rnote
99 117
100 118 # =====================================================================
101 119 # Config tree — the etc/ and usr/ trees in the repo map 1:1 into