Files
fluffy-pancake/build/10-build.sh
T

84 lines
2.3 KiB
Bash
Executable File

#!/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!"