2026-02-17 17:27:26 +01:00
|
|
|
#!/usr/bin/bash
|
|
|
|
|
set -eoux pipefail
|
|
|
|
|
|
2026-04-11 13:17:51 +02:00
|
|
|
###############################################################################
|
|
|
|
|
# cleanup-function
|
|
|
|
|
###############################################################################
|
|
|
|
|
cleanup() {
|
|
|
|
|
echo "Starting final cleanup..."
|
2026-04-11 13:23:39 +02:00
|
|
|
dnf5 clean all || true
|
|
|
|
|
rm -rf /var/tmp/* /tmp/* || true
|
2026-04-11 13:17:51 +02:00
|
|
|
# Falls du im Build-Verzeichnis Dateien erstellst, die nicht ins Image gehören:
|
|
|
|
|
# rm -rf /ctx/build/temp_stuff
|
|
|
|
|
echo "Cleanup complete! Image is lean and clean."
|
|
|
|
|
}
|
|
|
|
|
|
2026-02-17 17:27:26 +01:00
|
|
|
###############################################################################
|
2026-03-26 18:59:43 +01:00
|
|
|
# Fedora version (used for RPM Fusion)
|
2026-02-17 17:27:26 +01:00
|
|
|
###############################################################################
|
|
|
|
|
|
2026-03-26 18:59:43 +01:00
|
|
|
FEDORA_VERSION="$(rpm -E %fedora)"
|
2026-02-17 17:27:26 +01:00
|
|
|
|
2026-03-26 18:59:43 +01:00
|
|
|
###############################################################################
|
|
|
|
|
# Enable RPM Fusion (free + nonfree)
|
|
|
|
|
###############################################################################
|
|
|
|
|
|
|
|
|
|
dnf5 install -y \
|
|
|
|
|
https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-${FEDORA_VERSION}.noarch.rpm \
|
|
|
|
|
https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-${FEDORA_VERSION}.noarch.rpm
|
|
|
|
|
|
|
|
|
|
###############################################################################
|
|
|
|
|
# Multimedia stack (Mesa freeworld + codecs)
|
|
|
|
|
###############################################################################
|
|
|
|
|
|
|
|
|
|
# Replace Fedora Mesa with freeworld variants
|
2026-03-26 19:41:51 +01:00
|
|
|
dnf5 install -y \
|
|
|
|
|
mesa-va-drivers-freeworld \
|
|
|
|
|
mesa-vdpau-drivers-freeworld \
|
|
|
|
|
--allowerasing
|
|
|
|
|
|
2026-03-26 18:59:43 +01:00
|
|
|
|
|
|
|
|
# Install full multimedia group (RPM Fusion maintained)
|
|
|
|
|
dnf5 group install -y multimedia \
|
|
|
|
|
--with-optional \
|
|
|
|
|
--allowerasing
|
|
|
|
|
|
|
|
|
|
# Explicit codec safety net
|
|
|
|
|
dnf5 install -y \
|
|
|
|
|
ffmpeg \
|
|
|
|
|
ffmpeg-libs \
|
|
|
|
|
libavcodec-freeworld \
|
|
|
|
|
gstreamer1-libav \
|
|
|
|
|
gstreamer1-plugins-bad-freeworld \
|
2026-03-26 19:49:47 +01:00
|
|
|
gstreamer1-plugins-ugly \
|
|
|
|
|
--allowerasing
|
2026-03-26 18:59:43 +01:00
|
|
|
|
|
|
|
|
###############################################################################
|
|
|
|
|
# Virtualization stack (desktop-focused, minimal)
|
|
|
|
|
###############################################################################
|
2026-02-17 17:27:26 +01:00
|
|
|
|
2026-02-17 18:43:19 +01:00
|
|
|
dnf5 install -y \
|
2026-02-28 19:59:16 +01:00
|
|
|
libvirt-daemon \
|
|
|
|
|
libvirt-daemon-driver-qemu \
|
|
|
|
|
libvirt-daemon-config-network \
|
|
|
|
|
libvirt-client \
|
|
|
|
|
qemu-kvm \
|
|
|
|
|
qemu-img \
|
|
|
|
|
virt-manager \
|
2026-04-03 17:41:41 +02:00
|
|
|
virt-viewer \
|
|
|
|
|
distrobox
|
2026-02-28 22:18:46 +01:00
|
|
|
|
2026-03-26 18:59:43 +01:00
|
|
|
###############################################################################
|
|
|
|
|
# Steam (RPM Fusion nonfree)
|
|
|
|
|
###############################################################################
|
|
|
|
|
|
|
|
|
|
dnf5 install -y \
|
|
|
|
|
steam \
|
|
|
|
|
mesa-dri-drivers.i686 \
|
|
|
|
|
mesa-libGL.i686 \
|
|
|
|
|
mesa-libEGL.i686
|
|
|
|
|
|
|
|
|
|
###############################################################################
|
|
|
|
|
# Optional: hardware video acceleration helpers
|
|
|
|
|
###############################################################################
|
|
|
|
|
|
|
|
|
|
dnf5 install -y \
|
|
|
|
|
libva-utils \
|
|
|
|
|
intel-media-driver || true
|
|
|
|
|
|
2026-03-27 12:41:20 +01:00
|
|
|
###############################################################################
|
|
|
|
|
# Install Plasma Setup
|
|
|
|
|
###############################################################################
|
|
|
|
|
|
|
|
|
|
dnf5 install -y \
|
|
|
|
|
plasma-setup
|
|
|
|
|
|
2026-03-27 15:36:21 +01:00
|
|
|
###############################################################################
|
|
|
|
|
# Remove Firefox and langpacks
|
|
|
|
|
###############################################################################
|
|
|
|
|
|
|
|
|
|
dnf5 remove -y \
|
|
|
|
|
firefox \
|
|
|
|
|
firefox-langpacks*
|
2026-03-27 12:41:20 +01:00
|
|
|
|
2026-03-26 18:59:43 +01:00
|
|
|
###############################################################################
|
|
|
|
|
# Services
|
|
|
|
|
###############################################################################
|
2026-02-17 17:27:26 +01:00
|
|
|
|
2026-02-28 19:40:36 +01:00
|
|
|
systemctl enable libvirtd.service
|
|
|
|
|
systemctl enable virtlogd.service
|
2026-03-26 18:59:43 +01:00
|
|
|
systemctl enable podman.socket
|
|
|
|
|
systemctl enable bluetooth.service
|
2026-03-27 12:41:20 +01:00
|
|
|
systemctl enable plasma-setup.service
|
2026-03-27 14:49:25 +01:00
|
|
|
systemctl enable bootc-fetch-apply-updates.timer
|
|
|
|
|
|
2026-03-09 10:27:12 +01:00
|
|
|
|
2026-03-26 18:59:43 +01:00
|
|
|
###############################################################################
|
|
|
|
|
# Cleanup
|
|
|
|
|
###############################################################################
|
2026-03-15 18:54:06 +01:00
|
|
|
|
2026-04-11 13:17:51 +02:00
|
|
|
cleanup
|
2026-02-17 17:27:26 +01:00
|
|
|
|
|
|
|
|
echo "Custom build complete!"
|