2026-02-17 17:27:26 +01:00
|
|
|
#!/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
|
|
|
|
|
|
2026-03-01 15:58:27 +01:00
|
|
|
echo "::group:: Apply Bluefin common system files"
|
2026-03-01 16:38:38 +01:00
|
|
|
cp -a /ctx/oci/common/. /
|
2026-03-01 16:28:47 +01:00
|
|
|
echo "::endgroup::"
|
|
|
|
|
|
|
|
|
|
echo "::group:: Remove Bluefin GNOME branding"
|
|
|
|
|
rm -rf /usr/share/backgrounds/bluefin
|
|
|
|
|
rm -rf /usr/share/gnome-shell
|
|
|
|
|
rm -rf /usr/share/themes/Bluefin*
|
|
|
|
|
rm -rf /usr/share/icons/Bluefin*
|
|
|
|
|
rm -rf /usr/share/ublue-os/gnome
|
|
|
|
|
rm -f /usr/share/glib-2.0/schemas/*bluefin*.gschema.override
|
2026-03-01 15:58:27 +01:00
|
|
|
echo "::endgroup::"
|
2026-02-17 17:27:26 +01:00
|
|
|
|
2026-03-01 15:58:27 +01:00
|
|
|
echo "::group:: Apply Brew integration"
|
|
|
|
|
# Bringt Brew-User, PATH, systemd-Units, Brew-Bundle-Mechanik
|
|
|
|
|
cp -a /ctx/oci/brew/system_files/. /
|
|
|
|
|
echo "::endgroup::"
|
|
|
|
|
|
2026-02-17 17:27:26 +01:00
|
|
|
echo "::group:: Install Packages"
|
2026-03-01 15:58:27 +01:00
|
|
|
# flatpak und just sind im base-main vorhanden, aber wir ergänzen deine Tools
|
2026-02-17 18:43:19 +01:00
|
|
|
dnf5 install -y \
|
2026-02-28 15:04:42 +01:00
|
|
|
fastfetch \
|
2026-02-28 19:40:36 +01:00
|
|
|
btop \
|
2026-02-28 19:59:16 +01:00
|
|
|
libvirt \
|
|
|
|
|
libvirt-daemon \
|
|
|
|
|
libvirt-daemon-driver-qemu \
|
|
|
|
|
libvirt-daemon-config-network \
|
|
|
|
|
libvirt-daemon-kvm \
|
|
|
|
|
libvirt-client \
|
|
|
|
|
qemu-kvm \
|
|
|
|
|
qemu-img \
|
|
|
|
|
virt-manager \
|
|
|
|
|
virt-viewer \
|
2026-02-28 22:18:46 +01:00
|
|
|
usbredir
|
|
|
|
|
echo "::endgroup::"
|
|
|
|
|
|
|
|
|
|
echo "::group:: Remove Firefox Systempackage"
|
|
|
|
|
dnf5 remove -y \
|
|
|
|
|
firefox \
|
|
|
|
|
firefox-langpacks\*
|
2026-02-28 21:46:22 +01:00
|
|
|
echo "::endgroup::"
|
|
|
|
|
|
|
|
|
|
echo "::group:: Copy Custom Files"
|
2026-03-01 15:58:27 +01:00
|
|
|
# Brewfiles → werden durch Brew-Bundle.service verarbeitet
|
2026-02-28 21:46:22 +01:00
|
|
|
mkdir -p /usr/share/ublue-os/homebrew/
|
|
|
|
|
cp /ctx/custom/brew/*.Brewfile /usr/share/ublue-os/homebrew/
|
|
|
|
|
|
2026-03-01 15:58:27 +01:00
|
|
|
# Just-Rezepte → werden durch just automatisch gefunden
|
2026-02-28 21:46:22 +01:00
|
|
|
find /ctx/custom/ujust -iname '*.just' -exec printf "\n\n" \; -exec cat {} \; \
|
|
|
|
|
>> /usr/share/ublue-os/just/60-custom.just
|
|
|
|
|
|
2026-03-01 15:58:27 +01:00
|
|
|
# Flatpak-Preinstall-Skripte → werden durch flatpak-preinstall.service ausgeführt
|
2026-02-28 21:46:22 +01:00
|
|
|
mkdir -p /etc/flatpak/preinstall.d/
|
|
|
|
|
cp /ctx/custom/flatpaks/*.preinstall /etc/flatpak/preinstall.d/
|
|
|
|
|
echo "::endgroup::"
|
|
|
|
|
|
|
|
|
|
echo "::group:: Installing COSMIC"
|
2026-02-28 19:40:36 +01:00
|
|
|
copr_install_isolated "ryanabx/cosmic-epoch" \
|
|
|
|
|
cosmic-desktop
|
2026-02-17 17:27:26 +01:00
|
|
|
echo "::endgroup::"
|
|
|
|
|
|
|
|
|
|
echo "::group:: System Configuration"
|
|
|
|
|
systemctl enable podman.socket
|
2026-02-28 15:04:42 +01:00
|
|
|
systemctl enable bluetooth.service
|
2026-02-28 19:40:36 +01:00
|
|
|
systemctl enable libvirtd.service
|
|
|
|
|
systemctl enable virtlogd.service
|
2026-02-17 17:27:26 +01:00
|
|
|
echo "::endgroup::"
|
|
|
|
|
|
|
|
|
|
shopt -u nullglob
|
|
|
|
|
|
|
|
|
|
echo "Custom build complete!"
|