#!/usr/bin/bash set -eoux pipefail ############################################################################### # Main Build Script ############################################################################### # Source helper functions # shellcheck source=/dev/null source /ctx/build/copr-helpers.sh # Enable nullglob for all glob operations to prevent failures on empty matches shopt -s nullglob echo "::group:: Apply Bluefin common system files" # Bringt Flatpak-Preinstall, Flathub-Remote, systemd-Units, Defaults, etc. cp -a /ctx/oci/common/bluefin/system_files/. / echo "::endgroup::" echo "::group:: Apply Brew integration" # Bringt Brew-User, PATH, systemd-Units, Brew-Bundle-Mechanik cp -a /ctx/oci/brew/system_files/. / echo "::endgroup::" echo "::group:: Copy Bluefin Config from Common" mkdir -p /usr/share/ublue-os/just/ cp -r /ctx/oci/common/bluefin/usr/share/ublue-os/just/* /usr/share/ublue-os/just/ echo "::endgroup::" echo "::group:: Install Packages" # flatpak und just sind im base-main vorhanden, aber wir ergänzen deine Tools dnf5 install -y \ fastfetch \ btop \ libvirt \ libvirt-daemon \ libvirt-daemon-driver-qemu \ libvirt-daemon-config-network \ libvirt-daemon-kvm \ libvirt-client \ qemu-kvm \ qemu-img \ virt-manager \ virt-viewer \ usbredir echo "::endgroup::" echo "::group:: Remove Firefox Systempackage" dnf5 remove -y \ firefox \ firefox-langpacks\* echo "::endgroup::" echo "::group:: Copy Custom Files" # Brewfiles → werden durch Brew-Bundle.service verarbeitet mkdir -p /usr/share/ublue-os/homebrew/ cp /ctx/custom/brew/*.Brewfile /usr/share/ublue-os/homebrew/ # Just-Rezepte → werden durch just automatisch gefunden find /ctx/custom/ujust -iname '*.just' -exec printf "\n\n" \; -exec cat {} \; \ >> /usr/share/ublue-os/just/60-custom.just # Flatpak-Preinstall-Skripte → werden durch flatpak-preinstall.service ausgeführt mkdir -p /etc/flatpak/preinstall.d/ cp /ctx/custom/flatpaks/*.preinstall /etc/flatpak/preinstall.d/ echo "::endgroup::" echo "::group:: Installing COSMIC" copr_install_isolated "ryanabx/cosmic-epoch" \ cosmic-desktop echo "::endgroup::" echo "::group:: System Configuration" systemctl enable podman.socket systemctl enable bluetooth.service systemctl enable libvirtd.service systemctl enable virtlogd.service echo "::endgroup::" shopt -u nullglob echo "Custom build complete!"