cleanup scripts so they mostly work normally

the extra && \\ are removed, so commands fail on their own and it's
easier to debug a failure

the if statements which had extra \\ and semi-colons have been cleaned
up to look like normal if statements

there does seem to be an issue with the current state:
Transaction failed: Rpm transaction failed.
  - file /usr/bin/jupiter-biosupdate from install of gamescope-session-steam-20241206.1a3fdb7-1.fc41.x86_64 conflicts with file from package jupiter-hw-support-btrfs-0.0.git.4990.55663550-1.fc41.x86_64
This commit is contained in:
Benjamin Sherman 2025-01-12 02:49:10 -06:00
parent 5a5db71658
commit 2242f3aeb7
No known key found for this signature in database
5 changed files with 329 additions and 319 deletions

View File

@ -73,6 +73,7 @@ ARG VERSION_PRETTY="${VERSION_PRETTY}"
RUN --mount=type=cache,dst=/var/cache/libdnf5 \
--mount=type=cache,dst=/var/cache/rpm-ostree \
--mount=type=bind,from=kernel,src=/tmp/rpms,dst=/tmp/kernel-rpms \
--mount=type=bind,from=akmods,src=/rpms,dst=/tmp/akmods-rpms \
--mount=type=bind,from=akmods-extra,src=/rpms,dst=/tmp/akmods-extra-rpms \
--mount=type=bind,from=ctx,source=/,target=/ctx \

View File

@ -35,81 +35,83 @@ set -ouex pipefail
################
env
# removes rpm-ostree cliwrap
/ctx/build_files/unwrap
# copy system files into image
rsync -av /ctx/system_files/desktop/shared/ /ctx/system_files/desktop/${BASE_IMAGE_NAME}/ /
# Setup Copr repos
/ctx/build_files/unwrap && \
dnf5 -y install dnf5-plugins && \
dnf5 -y copr enable kylegospo/bazzite && \
dnf5 -y copr enable kylegospo/bazzite-multilib && \
dnf5 -y copr enable ublue-os/staging && \
dnf5 -y copr enable kylegospo/LatencyFleX && \
dnf5 -y copr enable kylegospo/obs-vkcapture && \
dnf5 -y copr enable kylegospo/wallpaper-engine-kde-plugin && \
dnf5 -y copr enable ycollet/audinux && \
dnf5 -y copr enable kylegospo/rom-properties && \
dnf5 -y copr enable kylegospo/webapp-manager && \
dnf5 -y copr enable hhd-dev/hhd && \
dnf5 -y copr enable che/nerd-fonts && \
dnf5 -y copr enable hikariknight/looking-glass-kvmfr && \
dnf5 -y copr enable mavit/discover-overlay && \
dnf5 -y copr enable lizardbyte/beta && \
dnf5 -y copr enable rok/cdemu && \
dnf5 -y copr enable rodoma92/kde-cdemu-manager && \
dnf5 -y copr enable rodoma92/rmlint && \
dnf5 -y copr enable ilyaz/LACT && \
dnf5 -y install --nogpgcheck --repofrompath 'terra,https://repos.fyralabs.com/terra$releasever' terra-release{,-extras} && \
curl -Lo /etc/yum.repos.d/tailscale.repo https://pkgs.tailscale.com/stable/fedora/tailscale.repo && \
dnf5 -y copr enable kylegospo/bazzite
dnf5 -y copr enable kylegospo/bazzite-multilib
dnf5 -y copr enable ublue-os/staging
dnf5 -y copr enable kylegospo/LatencyFleX
dnf5 -y copr enable kylegospo/obs-vkcapture
dnf5 -y copr enable kylegospo/wallpaper-engine-kde-plugin
dnf5 -y copr enable ycollet/audinux
dnf5 -y copr enable kylegospo/rom-properties
dnf5 -y copr enable kylegospo/webapp-manager
dnf5 -y copr enable hhd-dev/hhd
dnf5 -y copr enable che/nerd-fonts
dnf5 -y copr enable hikariknight/looking-glass-kvmfr
dnf5 -y copr enable mavit/discover-overlay
dnf5 -y copr enable lizardbyte/beta
dnf5 -y copr enable rok/cdemu
dnf5 -y copr enable rodoma92/kde-cdemu-manager
dnf5 -y copr enable rodoma92/rmlint
dnf5 -y copr enable ilyaz/LACT
dnf5 -y install --nogpgcheck --repofrompath 'terra,https://repos.fyralabs.com/terra$releasever' terra-release{,-extras}
curl -Lo /etc/yum.repos.d/tailscale.repo https://pkgs.tailscale.com/stable/fedora/tailscale.repo
dnf5 -y install \
https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm \
https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm && \
sed -i 's@enabled=0@enabled=1@g' /etc/yum.repos.d/negativo17-fedora-multimedia.repo && \
curl -Lo /etc/yum.repos.d/negativo17-fedora-steam.repo https://negativo17.org/repos/fedora-steam.repo && \
https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm \
https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
sed -i 's@enabled=0@enabled=1@g' /etc/yum.repos.d/negativo17-fedora-multimedia.repo
curl -Lo /etc/yum.repos.d/negativo17-fedora-steam.repo https://negativo17.org/repos/fedora-steam.repo
curl -Lo /etc/yum.repos.d/negativo17-fedora-rar.repo https://negativo17.org/repos/fedora-rar.repo
# Install kernel
/ctx/build_files/install-kernel && \
dnf5 -y install \
scx-scheds && \
/ctx/build_files/install-kernel
dnf5 -y install scx-scheds
dnf5 -y swap \
--repo copr:copr.fedorainfracloud.org:kylegospo:bazzite \
rpm-ostree rpm-ostree && \
--repo copr:copr.fedorainfracloud.org:kylegospo:bazzite \
rpm-ostree rpm-ostree
dnf5 -y swap \
--repo copr:copr.fedorainfracloud.org:kylegospo:bazzite \
bootc bootc
--repo copr:copr.fedorainfracloud.org:kylegospo:bazzite \
bootc bootc
# Setup firmware & hardware packages
if [[ "${IMAGE_FLAVOR}" =~ "asus" ]]; then \
dnf5 -y copr enable lukenukem/asus-linux && \
dnf5 -y install \
asusctl \
asusctl-rog-gui && \
git clone https://gitlab.com/asus-linux/firmware.git --depth 1 /tmp/asus-firmware && \
cp -rf /tmp/asus-firmware/* /usr/lib/firmware/ && \
rm -rf /tmp/asus-firmware && \
dnf5 copr disable -y lukenukem/asus-linux \
; elif [[ "${IMAGE_FLAVOR}" == "surface" ]]; then \
curl -Lo /etc/yum.repos.d/linux-surface.repo https://pkg.surfacelinux.com/fedora/linux-surface.repo && \
dnf5 -y swap \
if [[ "${IMAGE_FLAVOR}" =~ "asus" ]]; then
dnf5 -y copr enable lukenukem/asus-linux
dnf5 -y install \
asusctl \
asusctl-rog-gui
git clone https://gitlab.com/asus-linux/firmware.git --depth 1 /tmp/asus-firmware
cp -rf /tmp/asus-firmware/* /usr/lib/firmware/
rm -rf /tmp/asus-firmware
dnf5 copr disable -y lukenukem/asus-linux
elif [[ "${IMAGE_FLAVOR}" == "surface" ]]; then
curl -Lo /etc/yum.repos.d/linux-surface.repo https://pkg.surfacelinux.com/fedora/linux-surface.repo
dnf5 -y swap \
--allowerasing \
libwacom-data libwacom-surface-data && \
dnf5 -y install \
iptsd \
libcamera \
libcamera-tools \
libcamera-gstreamer \
libcamera-ipa \
pipewire-plugin-libcamera && \
sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/linux-surface.repo \
; fi && \
libwacom-data libwacom-surface-data
dnf5 -y install \
iptsd \
libcamera \
libcamera-tools \
libcamera-gstreamer \
libcamera-ipa \
pipewire-plugin-libcamera
sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/linux-surface.repo
fi
/ctx/build_files/install-firmware
# Add ublue packages
dnf5 -y copr enable ublue-os/akmods && \
/ctx/build_files/install-akmods && \
dnf5 -y copr enable ublue-os/akmods
/ctx/build_files/install-akmods
dnf5 -y swap \
--repo copr:copr.fedorainfracloud.org:ublue-os:staging \
fwupd fwupd && \
fwupd fwupd
sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/rpmfusion-*.repo
# Install Valve's patched Mesa, Pipewire, Bluez, and Xwayland#
@ -117,22 +119,22 @@ sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/rpmfusion-*.repo
# Tempporary fix for GPU Encoding
dnf5 -y swap \
--repo terra-extras \
mesa-filesystem mesa-filesystem && \
mesa-filesystem mesa-filesystem
dnf5 -y swap \
--repo copr:copr.fedorainfracloud.org:kylegospo:bazzite-multilib \
pipewire pipewire && \
pipewire pipewire
dnf5 -y swap \
--repo copr:copr.fedorainfracloud.org:kylegospo:bazzite-multilib \
bluez bluez && \
bluez bluez
dnf5 -y swap \
--repo copr:copr.fedorainfracloud.org:kylegospo:bazzite-multilib \
xorg-x11-server-Xwayland xorg-x11-server-Xwayland && \
sed -i 's@enabled=0@enabled=1@g' /etc/yum.repos.d/rpmfusion-*.repo && \
xorg-x11-server-Xwayland xorg-x11-server-Xwayland
sed -i 's@enabled=0@enabled=1@g' /etc/yum.repos.d/rpmfusion-*.repo
dnf5 -y install \
libaacs \
libbdplus \
libbluray \
libbluray-utils && \
libbluray-utils
sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/rpmfusion-*.repo
# Remove unneeded packages
@ -207,30 +209,32 @@ dnf5 -y install \
qemu \
libvirt \
lsb_release \
ublue-update && \
mkdir -p /etc/xdg/autostart && \
sed -i '1s/^/[include]\npaths = ["\/etc\/ublue-os\/topgrade.toml"]\n\n/' /usr/share/ublue-update/topgrade-user.toml && \
sed -i 's/min_battery_percent.*/min_battery_percent = 20.0/' /etc/ublue-update/ublue-update.toml && \
sed -i 's/max_cpu_load_percent.*/max_cpu_load_percent = 100.0/' /etc/ublue-update/ublue-update.toml && \
sed -i 's/max_mem_percent.*/max_mem_percent = 90.0/' /etc/ublue-update/ublue-update.toml && \
sed -i 's/dbus_notify.*/dbus_notify = false/' /etc/ublue-update/ublue-update.toml && \
sed -i 's/ --xdg-runtime=\\"${XDG_RUNTIME_DIR}\\"//g' /usr/bin/btrfs-assistant-launcher && \
curl -Lo /usr/bin/installcab https://raw.githubusercontent.com/KyleGospo/steam-proton-mf-wmv/master/installcab.py && \
chmod +x /usr/bin/installcab && \
curl -Lo /usr/bin/install-mf-wmv https://github.com/KyleGospo/steam-proton-mf-wmv/blob/master/install-mf-wmv.sh && \
chmod +x /usr/bin/install-mf-wmv && \
curl -Lo /tmp/ls-iommu.tar.gz $(curl https://api.github.com/repos/HikariKnight/ls-iommu/releases/latest | jq -r '.assets[] | select(.name| test(".*x86_64.tar.gz$")).browser_download_url') && \
mkdir -p /tmp/ls-iommu && \
tar --no-same-owner --no-same-permissions --no-overwrite-dir -xvzf /tmp/ls-iommu.tar.gz -C /tmp/ls-iommu && \
rm -f /tmp/ls-iommu.tar.gz && \
cp -r /tmp/ls-iommu/ls-iommu /usr/bin/ && \
ublue-update
mkdir -p /etc/xdg/autostart
sed -i '1s/^/[include]\npaths = ["\/etc\/ublue-os\/topgrade.toml"]\n\n/' /usr/share/ublue-update/topgrade-user.toml
sed -i 's/min_battery_percent.*/min_battery_percent = 20.0/' /etc/ublue-update/ublue-update.toml
sed -i 's/max_cpu_load_percent.*/max_cpu_load_percent = 100.0/' /etc/ublue-update/ublue-update.toml
sed -i 's/max_mem_percent.*/max_mem_percent = 90.0/' /etc/ublue-update/ublue-update.toml
sed -i 's/dbus_notify.*/dbus_notify = false/' /etc/ublue-update/ublue-update.toml
sed -i 's/ --xdg-runtime=\\"${XDG_RUNTIME_DIR}\\"//g' /usr/bin/btrfs-assistant-launcher
curl -Lo /usr/bin/installcab https://raw.githubusercontent.com/KyleGospo/steam-proton-mf-wmv/master/installcab.py
chmod +x /usr/bin/installcab
curl -Lo /usr/bin/install-mf-wmv https://github.com/KyleGospo/steam-proton-mf-wmv/blob/master/install-mf-wmv.sh
chmod +x /usr/bin/install-mf-wmv
curl -Lo /tmp/ls-iommu.tar.gz $(curl https://api.github.com/repos/HikariKnight/ls-iommu/releases/latest | jq -r '.assets[] | select(.name| test(".*x86_64.tar.gz$")).browser_download_url')
mkdir -p /tmp/ls-iommu
tar --no-same-owner --no-same-permissions --no-overwrite-dir -xvzf /tmp/ls-iommu.tar.gz -C /tmp/ls-iommu
rm -f /tmp/ls-iommu.tar.gz
cp -r /tmp/ls-iommu/ls-iommu /usr/bin/
rm -rf /tmp/ls-iommu
# Install Steam & Lutris, plus supporting packages
# Downgrade ibus to fix an issue with the Steam keyboard
dnf5 -y swap \
--repo copr:copr.fedorainfracloud.org:kylegospo:bazzite \
ibus ibus && \
ibus ibus
dnf5 -y install \
jupiter-sd-mounting-btrfs \
steam \
@ -251,22 +255,23 @@ dnf5 -y install \
libobs_vkcapture.x86_64 \
libobs_glcapture.x86_64 \
libobs_vkcapture.i686 \
libobs_glcapture.i686 && \
sed -i 's@\[Desktop Entry\]@\[Desktop Entry\]\nNoDisplay=true@g' /usr/share/applications/winetricks.desktop && \
curl -Lo /tmp/latencyflex.tar.xz $(curl https://api.github.com/repos/ishitatsuyuki/LatencyFleX/releases/latest | jq -r '.assets[] | select(.name| test(".*.tar.xz$")).browser_download_url') && \
mkdir -p /tmp/latencyflex && \
tar --no-same-owner --no-same-permissions --no-overwrite-dir --strip-components 1 -xvf /tmp/latencyflex.tar.xz -C /tmp/latencyflex && \
rm -f /tmp/latencyflex.tar.xz && \
cp -r /tmp/latencyflex/wine/usr/lib/wine/* /usr/lib64/wine/ && \
rm -rf /tmp/latencyflex && \
curl -Lo /usr/bin/latencyflex https://raw.githubusercontent.com/KyleGospo/LatencyFleX-Installer/main/install.sh && \
chmod +x /usr/bin/latencyflex && \
sed -i 's@/usr/lib/wine/@/usr/lib64/wine/@g' /usr/bin/latencyflex && \
sed -i 's@"dxvk.conf"@"/usr/share/latencyflex/dxvk.conf"@g' /usr/bin/latencyflex && \
libobs_glcapture.i686
sed -i 's@\[Desktop Entry\]@\[Desktop Entry\]\nNoDisplay=true@g' /usr/share/applications/winetricks.desktop
curl -Lo /tmp/latencyflex.tar.xz $(curl https://api.github.com/repos/ishitatsuyuki/LatencyFleX/releases/latest | jq -r '.assets[] | select(.name| test(".*.tar.xz$")).browser_download_url')
mkdir -p /tmp/latencyflex
tar --no-same-owner --no-same-permissions --no-overwrite-dir --strip-components 1 -xvf /tmp/latencyflex.tar.xz -C /tmp/latencyflex
rm -f /tmp/latencyflex.tar.xz
cp -r /tmp/latencyflex/wine/usr/lib/wine/* /usr/lib64/wine/
rm -rf /tmp/latencyfle
curl -Lo /usr/bin/latencyflex https://raw.githubusercontent.com/KyleGospo/LatencyFleX-Installer/main/install.sh
chmod +x /usr/bin/latencyflex
sed -i 's@/usr/lib/wine/@/usr/lib64/wine/@g' /usr/bin/latencyflex
sed -i 's@"dxvk.conf"@"/usr/share/latencyflex/dxvk.conf"@g' /usr/bin/latencyflex
chmod +x /usr/bin/latencyflex
# Configure KDE & GNOME
if grep -q "kinoite" <<< "${BASE_IMAGE_NAME}"; then \
if grep -q "kinoite" <<< "${BASE_IMAGE_NAME}"; then
dnf5 -y install \
qt \
krdp \
@ -279,30 +284,30 @@ if grep -q "kinoite" <<< "${BASE_IMAGE_NAME}"; then \
fcitx5-mozc \
fcitx5-chinese-addons \
fcitx5-hangul \
ptyxis && \
ptyxis
dnf5 -y remove \
plasma-welcome \
plasma-welcome-fedora && \
plasma-welcome-fedora
dnf5 -y swap \
--repo terra-extras \
kf6-kio-core kf6-kio-core
git clone https://github.com/catsout/wallpaper-engine-kde-plugin.git --depth 1 --branch main /tmp/wallpaper-engine-kde-plugin
kpackagetool6 --type=Plasma/Wallpaper --global --install /tmp/wallpaper-engine-kde-plugin/plugin
rm -rf /tmp/wallpaper-engine-kde-plugin
sed -i '/<entry name="launchers" type="StringList">/,/<\/entry>/ s/<default>[^<]*<\/default>/<default>preferred:\/\/browser,applications:steam.desktop,applications:net.lutris.Lutris.desktop,applications:org.gnome.Ptyxis.desktop,applications:org.kde.discover.desktop,preferred:\/\/filemanager<\/default>/' /usr/share/plasma/plasmoids/org.kde.plasma.taskmanager/contents/config/main.xml
sed -i '/<entry name="favorites" type="StringList">/,/<\/entry>/ s/<default>[^<]*<\/default>/<default>preferred:\/\/browser,steam.desktop,net.lutris.Lutris.desktop,systemsettings.desktop,org.kde.dolphin.desktop,org.kde.kate.desktop,org.gnome.Ptyxis.desktop,org.kde.discover.desktop,system-update.desktop<\/default>/' /usr/share/plasma/plasmoids/org.kde.plasma.kickoff/contents/config/main.xml
sed -i 's@\[Desktop Action new-window\]@\[Desktop Action new-window\]\nX-KDE-Shortcuts=Ctrl+Alt+T@g' /usr/share/applications/org.gnome.Ptyxis.desktop
sed -i '/^Comment/d' /usr/share/applications/org.gnome.Ptyxis.desktop
sed -i 's@Exec=ptyxis@Exec=kde-ptyxis@g' /usr/share/applications/org.gnome.Ptyxis.desktop
sed -i 's@Keywords=@Keywords=konsole;console;@g' /usr/share/applications/org.gnome.Ptyxis.desktop
cp /usr/share/applications/org.gnome.Ptyxis.desktop /usr/share/kglobalaccel/org.gnome.Ptyxis.desktop
sed -i 's@\[Desktop Entry\]@\[Desktop Entry\]\nNoDisplay=true@g' /usr/share/applications/org.kde.konsole.desktop
rm -f /usr/share/kglobalaccel/org.kde.konsole.desktop
setcap 'cap_net_raw+ep' /usr/libexec/ksysguard/ksgrd_network_helper
else
dnf5 -y swap \
--repo terra-extras \
kf6-kio-core kf6-kio-core && \
git clone https://github.com/catsout/wallpaper-engine-kde-plugin.git --depth 1 --branch main /tmp/wallpaper-engine-kde-plugin && \
kpackagetool6 --type=Plasma/Wallpaper --global --install /tmp/wallpaper-engine-kde-plugin/plugin && \
rm -rf /tmp/wallpaper-engine-kde-plugin && \
sed -i '/<entry name="launchers" type="StringList">/,/<\/entry>/ s/<default>[^<]*<\/default>/<default>preferred:\/\/browser,applications:steam.desktop,applications:net.lutris.Lutris.desktop,applications:org.gnome.Ptyxis.desktop,applications:org.kde.discover.desktop,preferred:\/\/filemanager<\/default>/' /usr/share/plasma/plasmoids/org.kde.plasma.taskmanager/contents/config/main.xml && \
sed -i '/<entry name="favorites" type="StringList">/,/<\/entry>/ s/<default>[^<]*<\/default>/<default>preferred:\/\/browser,steam.desktop,net.lutris.Lutris.desktop,systemsettings.desktop,org.kde.dolphin.desktop,org.kde.kate.desktop,org.gnome.Ptyxis.desktop,org.kde.discover.desktop,system-update.desktop<\/default>/' /usr/share/plasma/plasmoids/org.kde.plasma.kickoff/contents/config/main.xml && \
sed -i 's@\[Desktop Action new-window\]@\[Desktop Action new-window\]\nX-KDE-Shortcuts=Ctrl+Alt+T@g' /usr/share/applications/org.gnome.Ptyxis.desktop && \
sed -i '/^Comment/d' /usr/share/applications/org.gnome.Ptyxis.desktop && \
sed -i 's@Exec=ptyxis@Exec=kde-ptyxis@g' /usr/share/applications/org.gnome.Ptyxis.desktop && \
sed -i 's@Keywords=@Keywords=konsole;console;@g' /usr/share/applications/org.gnome.Ptyxis.desktop && \
cp /usr/share/applications/org.gnome.Ptyxis.desktop /usr/share/kglobalaccel/org.gnome.Ptyxis.desktop && \
sed -i 's@\[Desktop Entry\]@\[Desktop Entry\]\nNoDisplay=true@g' /usr/share/applications/org.kde.konsole.desktop && \
rm -f /usr/share/kglobalaccel/org.kde.konsole.desktop && \
setcap 'cap_net_raw+ep' /usr/libexec/ksysguard/ksgrd_network_helper \
; else \
dnf5 -y swap \
--repo terra-extras \
gnome-shell gnome-shell && \
gnome-shell gnome-shell
dnf5 -y install \
nautilus-gsconnect \
steamdeck-backgrounds \
@ -320,7 +325,7 @@ if grep -q "kinoite" <<< "${BASE_IMAGE_NAME}"; then \
gnome-shell-extension-caffeine \
rom-properties-gtk3 \
ibus-mozc \
openssh-askpass && \
openssh-askpass
dnf5 -y remove \
gnome-classic-session \
gnome-tour \
@ -328,16 +333,16 @@ if grep -q "kinoite" <<< "${BASE_IMAGE_NAME}"; then \
gnome-system-monitor \
gnome-initial-setup \
gnome-shell-extension-background-logo \
gnome-shell-extension-apps-menu && \
mkdir -p /tmp/tilingshell && \
gnome-shell-extension-apps-menu
mkdir -p /tmp/tilingshell
curl -s https://api.github.com/repos/domferr/tilingshell/releases/latest | \
jq -r '.assets | sort_by(.created_at) | .[] | select (.name|test("^tilingshell@.*zip$")) | .browser_download_url' | \
wget -qi - -O /tmp/tilingshell/tilingshell@ferrarodomenico.com.zip && \
curl -Lo /usr/share/thumbnailers/exe-thumbnailer.thumbnailer https://raw.githubusercontent.com/jlu5/icoextract/master/exe-thumbnailer.thumbnailer && \
unzip /tmp/tilingshell/tilingshell@ferrarodomenico.com.zip -d /usr/share/gnome-shell/extensions/tilingshell@ferrarodomenico.com && \
rm -rf /tmp/tilingshell && \
systemctl enable dconf-update.service \
; fi
wget -qi - -O /tmp/tilingshell/tilingshell@ferrarodomenico.com.zip
curl -Lo /usr/share/thumbnailers/exe-thumbnailer.thumbnailer https://raw.githubusercontent.com/jlu5/icoextract/master/exe-thumbnailer.thumbnailer
unzip /tmp/tilingshell/tilingshell@ferrarodomenico.com.zip -d /usr/share/gnome-shell/extensions/tilingshell@ferrarodomenico.com
rm -rf /tmp/tilingshell
systemctl enable dconf-update.service
fi
# Install Gamescope, ROCM, and Waydroid on non-Nvidia images
dnf5 -y install \
@ -349,100 +354,102 @@ dnf5 -y install \
rocm-clinfo \
waydroid \
cage \
wlr-randr && \
wlr-randr
sed -i~ -E 's/=.\$\(command -v (nft|ip6?tables-legacy).*/=/g' /usr/lib/waydroid/data/scripts/waydroid-net.sh
# Homebrew & Bash Prexec
touch /.dockerenv && \
mkdir -p /var/home && \
mkdir -p /var/roothome && \
curl -Lo /tmp/brew-install https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh && \
chmod +x /tmp/brew-install && \
/tmp/brew-install && \
tar --zstd -cvf /usr/share/homebrew.tar.zst /home/linuxbrew/.linuxbrew && \
touch /.dockerenv
mkdir -p /var/home
mkdir -p /var/roothome
curl -Lo /tmp/brew-install https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh
chmod +x /tmp/brew-install
/tmp/brew-install
tar --zstd -cvf /usr/share/homebrew.tar.zst /home/linuxbrew/.linuxbrew
curl -Lo /usr/share/bash-prexec https://raw.githubusercontent.com/ublue-os/bash-preexec/master/bash-preexec.sh
# Cleanup & Finalize
rsync -av /ctx/system_files/overrides/ /
rm -f /etc/profile.d/toolbox.sh && \
mkdir -p /var/tmp && chmod 1777 /var/tmp && \
cp --no-dereference --preserve=links /usr/lib/libdrm.so.2 /usr/lib/libdrm.so && \
cp --no-dereference --preserve=links /usr/lib64/libdrm.so.2 /usr/lib64/libdrm.so && \
sed -i 's@/usr/bin/steam@/usr/bin/bazzite-steam@g' /usr/share/applications/steam.desktop && \
sed -i 's@Exec=steam steam://open/bigpicture@Exec=/usr/bin/bazzite-steam-bpm@g' /usr/share/applications/steam.desktop && \
mkdir -p /etc/skel/.config/autostart/ && \
cp "/usr/share/applications/steam.desktop" "/etc/skel/.config/autostart/steam.desktop" && \
sed -i 's@/usr/bin/bazzite-steam %U@/usr/bin/bazzite-steam -silent %U@g' /etc/skel/.config/autostart/steam.desktop && \
sed -i 's@\[Desktop Entry\]@\[Desktop Entry\]\nNoDisplay=true@g' /usr/share/applications/fish.desktop && \
sed -i 's@\[Desktop Entry\]@\[Desktop Entry\]\nNoDisplay=true@g' /usr/share/applications/nvtop.desktop && \
sed -i 's@\[Desktop Entry\]@\[Desktop Entry\]\nNoDisplay=true@g' /usr/share/applications/btop.desktop && \
sed -i 's@\[Desktop Entry\]@\[Desktop Entry\]\nNoDisplay=true@g' /usr/share/applications/yad-icon-browser.desktop && \
sed -i 's/#UserspaceHID.*/UserspaceHID=true/' /etc/bluetooth/input.conf && \
rm -f /usr/share/vulkan/icd.d/lvp_icd.*.json && \
mkdir -p "/etc/profile.d/" && \
ln -s "/usr/share/ublue-os/firstboot/launcher/login-profile.sh" \
"/etc/profile.d/ublue-firstboot.sh" && \
mkdir -p "/etc/xdg/autostart" && \
cp "/usr/share/applications/discover_overlay.desktop" "/etc/xdg/autostart/discover_overlay.desktop" && \
sed -i 's@Exec=discover-overlay@Exec=/usr/bin/bazzite-discover-overlay@g' /etc/xdg/autostart/discover_overlay.desktop && \
sed -i 's@\[Desktop Entry\]@\[Desktop Entry\]\nNoDisplay=true@g' /usr/share/applications/discover_overlay.desktop && \
cp "/usr/share/ublue-os/firstboot/yafti.yml" "/etc/yafti.yml" && \
echo "import \"/usr/share/ublue-os/just/80-bazzite.just\"" >> /usr/share/ublue-os/justfile && \
echo "import \"/usr/share/ublue-os/just/81-bazzite-fixes.just\"" >> /usr/share/ublue-os/justfile && \
echo "import \"/usr/share/ublue-os/just/82-bazzite-apps.just\"" >> /usr/share/ublue-os/justfile && \
echo "import \"/usr/share/ublue-os/just/82-bazzite-cdemu.just\"" >> /usr/share/ublue-os/justfile && \
echo "import \"/usr/share/ublue-os/just/82-bazzite-sunshine.just\"" >> /usr/share/ublue-os/justfile && \
echo "import \"/usr/share/ublue-os/just/82-bazzite-rmlint.just\"" >> /usr/share/ublue-os/justfile && \
echo "import \"/usr/share/ublue-os/just/82-bazzite-waydroid.just\"" >> /usr/share/ublue-os/justfile && \
echo "import \"/usr/share/ublue-os/just/83-bazzite-audio.just\"" >> /usr/share/ublue-os/justfile && \
echo "import \"/usr/share/ublue-os/just/84-bazzite-virt.just\"" >> /usr/share/ublue-os/justfile && \
echo "import \"/usr/share/ublue-os/just/85-bazzite-image.just\"" >> /usr/share/ublue-os/justfile && \
echo "import \"/usr/share/ublue-os/just/86-bazzite-windows.just\"" >> /usr/share/ublue-os/justfile && \
echo "import \"/usr/share/ublue-os/just/90-bazzite-de.just\"" >> /usr/share/ublue-os/justfile && \
if grep -q "kinoite" <<< "${BASE_IMAGE_NAME}"; then \
systemctl enable usr-share-sddm-themes.mount && \
mkdir -p "/usr/share/ublue-os/dconfs/desktop-kinoite/" && \
cp "/usr/share/glib-2.0/schemas/zz0-"*"-bazzite-desktop-kinoite-"*".gschema.override" "/usr/share/ublue-os/dconfs/desktop-kinoite/" && \
find "/etc/dconf/db/distro.d/" -maxdepth 1 -type f -exec cp {} "/usr/share/ublue-os/dconfs/desktop-kinoite/" \; && \
dconf-override-converter to-dconf "/usr/share/ublue-os/dconfs/desktop-kinoite/zz0-"*"-bazzite-desktop-kinoite-"*".gschema.override" && \
rm "/usr/share/ublue-os/dconfs/desktop-kinoite/zz0-"*"-bazzite-desktop-kinoite-"*".gschema.override" \
; else \
mkdir -p "/usr/share/ublue-os/dconfs/desktop-silverblue/" && \
cp "/usr/share/glib-2.0/schemas/zz0-"*"-bazzite-desktop-silverblue-"*".gschema.override" "/usr/share/ublue-os/dconfs/desktop-silverblue/" && \
find "/etc/dconf/db/distro.d/" -maxdepth 1 -type f -exec cp {} "/usr/share/ublue-os/dconfs/desktop-silverblue/" \; && \
dconf-override-converter to-dconf "/usr/share/ublue-os/dconfs/desktop-silverblue/zz0-"*"-bazzite-desktop-silverblue-"*".gschema.override" && \
sed -i 's/\[org.gtk.Settings.FileChooser\]/\[org\/gtk\/settings\/file-chooser\]/g; s/\[org.gtk.gtk4.Settings.FileChooser\]/\[org\/gtk\/gtk4\/settings\/file-chooser\]/g' "/usr/share/ublue-os/dconfs/desktop-silverblue/zz0-00-bazzite-desktop-silverblue-global" && \
rm "/usr/share/ublue-os/dconfs/desktop-silverblue/zz0-"*"-bazzite-desktop-silverblue-"*".gschema.override" \
; fi && \
mkdir -p /tmp/bazzite-schema-test && \
find "/usr/share/glib-2.0/schemas/" -type f ! -name "*.gschema.override" -exec cp {} "/tmp/bazzite-schema-test/" \; && \
cp "/usr/share/glib-2.0/schemas/zz0-"*".gschema.override" "/tmp/bazzite-schema-test/" && \
glib-compile-schemas --strict /tmp/bazzite-schema-test && \
glib-compile-schemas /usr/share/glib-2.0/schemas &>/dev/null && \
rm -r /tmp/bazzite-schema-test && \
sed -i 's/stage/none/g' /etc/rpm-ostreed.conf && \
dnf5 copr disable -y ublue-os/akmods && \
dnf5 copr disable -y kylegospo/bazzite && \
dnf5 copr disable -y kylegospo/bazzite-multilib && \
dnf5 copr disable -y ublue-os/staging && \
dnf5 copr disable -y kylegospo/LatencyFleX && \
dnf5 copr disable -y kylegospo/obs-vkcapture && \
dnf5 copr disable -y kylegospo/wallpaper-engine-kde-plugin && \
dnf5 copr disable -y ycollet/audinux && \
dnf5 copr disable -y kylegospo/rom-properties && \
dnf5 copr disable -y kylegospo/webapp-manager && \
dnf5 copr disable -y hhd-dev/hhd && \
dnf5 copr disable -y che/nerd-fonts && \
dnf5 copr disable -y mavit/discover-overlay && \
dnf5 copr disable -y lizardbyte/beta && \
dnf5 copr disable -y hikariknight/looking-glass-kvmfr && \
sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/tailscale.repo && \
sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/charm.repo && \
sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/negativo17-fedora-multimedia.repo && \
sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/negativo17-fedora-steam.repo && \
sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/negativo17-fedora-rar.repo && \
sed -i 's#/var/lib/selinux#/etc/selinux#g' /usr/lib/python3.*/site-packages/setroubleshoot/util.py && \
mkdir -p /etc/flatpak/remotes.d && \
rm -f /etc/profile.d/toolbox.sh
mkdir -p /var/tmp && chmod 1777 /var/tmp
cp --no-dereference --preserve=links /usr/lib/libdrm.so.2 /usr/lib/libdrm.so
cp --no-dereference --preserve=links /usr/lib64/libdrm.so.2 /usr/lib64/libdrm.so
sed -i 's@/usr/bin/steam@/usr/bin/bazzite-steam@g' /usr/share/applications/steam.desktop
sed -i 's@Exec=steam steam://open/bigpicture@Exec=/usr/bin/bazzite-steam-bpm@g' /usr/share/applications/steam.desktop
mkdir -p /etc/skel/.config/autostart/
cp "/usr/share/applications/steam.desktop" "/etc/skel/.config/autostart/steam.desktop"
sed -i 's@/usr/bin/bazzite-steam %U@/usr/bin/bazzite-steam -silent %U@g' /etc/skel/.config/autostart/steam.desktop
sed -i 's@\[Desktop Entry\]@\[Desktop Entry\]\nNoDisplay=true@g' /usr/share/applications/fish.desktop
sed -i 's@\[Desktop Entry\]@\[Desktop Entry\]\nNoDisplay=true@g' /usr/share/applications/nvtop.desktop
sed -i 's@\[Desktop Entry\]@\[Desktop Entry\]\nNoDisplay=true@g' /usr/share/applications/btop.desktop
sed -i 's@\[Desktop Entry\]@\[Desktop Entry\]\nNoDisplay=true@g' /usr/share/applications/yad-icon-browser.desktop
sed -i 's/#UserspaceHID.*/UserspaceHID=true/' /etc/bluetooth/input.conf
sed -i "s/^SCX_SCHEDULER=.*/SCX_SCHEDULER=scx_lavd/" /etc/default/scx
rm -f /usr/share/vulkan/icd.d/lvp_icd.*.json
mkdir -p "/etc/profile.d/"
ln -s "/usr/share/ublue-os/firstboot/launcher/login-profile.sh" "/etc/profile.d/ublue-firstboot.sh"
mkdir -p "/etc/xdg/autostart"
cp "/usr/share/applications/discover_overlay.desktop" "/etc/xdg/autostart/discover_overlay.desktop"
sed -i 's@Exec=discover-overlay@Exec=/usr/bin/bazzite-discover-overlay@g' /etc/xdg/autostart/discover_overlay.desktop
sed -i 's@\[Desktop Entry\]@\[Desktop Entry\]\nNoDisplay=true@g' /usr/share/applications/discover_overlay.desktop
cp "/usr/share/ublue-os/firstboot/yafti.yml" "/etc/yafti.yml"
echo "import \"/usr/share/ublue-os/just/80-bazzite.just\"" >> /usr/share/ublue-os/justfile
echo "import \"/usr/share/ublue-os/just/81-bazzite-fixes.just\"" >> /usr/share/ublue-os/justfile
echo "import \"/usr/share/ublue-os/just/82-bazzite-apps.just\"" >> /usr/share/ublue-os/justfile
echo "import \"/usr/share/ublue-os/just/82-bazzite-cdemu.just\"" >> /usr/share/ublue-os/justfile
echo "import \"/usr/share/ublue-os/just/82-bazzite-sunshine.just\"" >> /usr/share/ublue-os/justfile
echo "import \"/usr/share/ublue-os/just/82-bazzite-rmlint.just\"" >> /usr/share/ublue-os/justfile
echo "import \"/usr/share/ublue-os/just/82-bazzite-waydroid.just\"" >> /usr/share/ublue-os/justfile
echo "import \"/usr/share/ublue-os/just/83-bazzite-audio.just\"" >> /usr/share/ublue-os/justfile
echo "import \"/usr/share/ublue-os/just/84-bazzite-virt.just\"" >> /usr/share/ublue-os/justfile
echo "import \"/usr/share/ublue-os/just/85-bazzite-image.just\"" >> /usr/share/ublue-os/justfile
echo "import \"/usr/share/ublue-os/just/86-bazzite-windows.just\"" >> /usr/share/ublue-os/justfile
echo "import \"/usr/share/ublue-os/just/90-bazzite-de.just\"" >> /usr/share/ublue-os/justfile
if grep -q "kinoite" <<< "${BASE_IMAGE_NAME}"; then
systemctl enable usr-share-sddm-themes.mount
mkdir -p "/usr/share/ublue-os/dconfs/desktop-kinoite/"
cp "/usr/share/glib-2.0/schemas/zz0-"*"-bazzite-desktop-kinoite-"*".gschema.override" "/usr/share/ublue-os/dconfs/desktop-kinoite/"
find "/etc/dconf/db/distro.d/" -maxdepth 1 -type f -exec cp {} "/usr/share/ublue-os/dconfs/desktop-kinoite/" \;
dconf-override-converter to-dconf "/usr/share/ublue-os/dconfs/desktop-kinoite/zz0-"*"-bazzite-desktop-kinoite-"*".gschema.override"
rm "/usr/share/ublue-os/dconfs/desktop-kinoite/zz0-"*"-bazzite-desktop-kinoite-"*".gschema.override"
else
mkdir -p "/usr/share/ublue-os/dconfs/desktop-silverblue/"
cp "/usr/share/glib-2.0/schemas/zz0-"*"-bazzite-desktop-silverblue-"*".gschema.override" "/usr/share/ublue-os/dconfs/desktop-silverblue/"
find "/etc/dconf/db/distro.d/" -maxdepth 1 -type f -exec cp {} "/usr/share/ublue-os/dconfs/desktop-silverblue/" \;
dconf-override-converter to-dconf "/usr/share/ublue-os/dconfs/desktop-silverblue/zz0-"*"-bazzite-desktop-silverblue-"*".gschema.override"
sed -i 's/\[org.gtk.Settings.FileChooser\]/\[org\/gtk\/settings\/file-chooser\]/g; s/\[org.gtk.gtk4.Settings.FileChooser\]/\[org\/gtk\/gtk4\/settings\/file-chooser\]/g' "/usr/share/ublue-os/dconfs/desktop-silverblue/zz0-00-bazzite-desktop-silverblue-global"
rm "/usr/share/ublue-os/dconfs/desktop-silverblue/zz0-"*"-bazzite-desktop-silverblue-"*".gschema.override"
fi
mkdir -p /tmp/bazzite-schema-test
find "/usr/share/glib-2.0/schemas/" -type f ! -name "*.gschema.override" -exec cp {} "/tmp/bazzite-schema-test/" \;
cp "/usr/share/glib-2.0/schemas/zz0-"*".gschema.override" "/tmp/bazzite-schema-test/"
glib-compile-schemas --strict /tmp/bazzite-schema-test
glib-compile-schemas /usr/share/glib-2.0/schemas &>/dev/null
rm -r /tmp/bazzite-schema-test
sed -i 's/stage/none/g' /etc/rpm-ostreed.conf
dnf5 copr disable -y ublue-os/akmods
dnf5 copr disable -y kylegospo/bazzite
dnf5 copr disable -y kylegospo/bazzite-multilib
dnf5 copr disable -y ublue-os/staging
dnf5 copr disable -y kylegospo/LatencyFleX
dnf5 copr disable -y kylegospo/obs-vkcapture
dnf5 copr disable -y kylegospo/wallpaper-engine-kde-plugin
dnf5 copr disable -y ycollet/audinux
dnf5 copr disable -y kylegospo/rom-properties
dnf5 copr disable -y kylegospo/webapp-manager
dnf5 copr disable -y hhd-dev/hhd
dnf5 copr disable -y che/nerd-fonts
dnf5 copr disable -y mavit/discover-overlay
dnf5 copr disable -y lizardbyte/beta
dnf5 copr disable -y hikariknight/looking-glass-kvmfr
sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/tailscale.repo
sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/charm.repo
sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/negativo17-fedora-multimedia.repo
sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/negativo17-fedora-steam.repo
sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/negativo17-fedora-rar.repo
sed -i 's#/var/lib/selinux#/etc/selinux#g' /usr/lib/python3.*/site-packages/setroubleshoot/util.py
mkdir -p /etc/flatpak/remotes.d
curl -Lo /etc/flatpak/remotes.d/flathub.flatpakrepo https://dl.flathub.org/repo/flathub.flatpakrepo
systemctl enable brew-dir-fix.service
@ -472,8 +479,6 @@ curl -Lo /etc/distrobox/docker.ini https://github.com/ublue-os/toolboxes/raw/ref
curl -Lo /etc/distrobox/incus.ini https://github.com/ublue-os/toolboxes/raw/refs/heads/main/apps/docker/incus.ini
/ctx/build_files/image-info
export KERNEL_FLAVOR="${KERNEL_FLAVOR}"
/ctx/build_files/build-initramfs
/ctx/build_files/cleanup
/ctx/build_files/finalize

View File

@ -37,29 +37,29 @@ set -ouex pipefail
rsync -av /ctx/system_files/deck/shared/ /ctx/system_files/deck/${BASE_IMAGE_NAME}/ /
# Setup Copr repos
dnf5 -y copr enable ublue-os/akmods && \
dnf5 -y copr enable kylegospo/bazzite && \
dnf5 -y copr enable kylegospo/bazzite-multilib && \
dnf5 -y copr enable kylegospo/LatencyFleX && \
dnf5 -y copr enable kylegospo/obs-vkcapture && \
dnf5 -y copr enable kylegospo/wallpaper-engine-kde-plugin && \
dnf5 -y copr enable hhd-dev/hhd && \
dnf5 -y copr enable ublue-os/akmods
dnf5 -y copr enable kylegospo/bazzite
dnf5 -y copr enable kylegospo/bazzite-multilib
dnf5 -y copr enable kylegospo/LatencyFleX
dnf5 -y copr enable kylegospo/obs-vkcapture
dnf5 -y copr enable kylegospo/wallpaper-engine-kde-plugin
dnf5 -y copr enable hhd-dev/hhd
dnf5 -y copr enable ycollet/audinux
# Configure KDE & GNOME
dnf5 -y remove \
jupiter-sd-mounting-btrfs && \
if grep -q "kinoite" <<< "${BASE_IMAGE_NAME}"; then \
jupiter-sd-mounting-btrfs
if grep -q "kinoite" <<< "${BASE_IMAGE_NAME}"; then
dnf5 -y remove \
steamdeck-kde-presets-desktop && \
steamdeck-kde-presets-desktop
dnf5 -y install \
steamdeck-kde-presets \
; else \
steamdeck-kde-presets
else
dnf5 -y install \
steamdeck-gnome-presets \
gnome-shell-extension-caribou-blocker \
sddm \
; fi
sddm
fi
# Install new packages
# Dock updater - done manually due to proprietary parts preventing it from being on Copr
@ -87,14 +87,14 @@ dnf5 -y install \
qt6-qtvirtualkeyboard \
xorg-x11-server-Xvfb \
python-vdf \
python-crcmod && \
python-crcmod
git clone https://gitlab.com/evlaV/jupiter-dock-updater-bin.git \
--depth 1 \
/tmp/jupiter-dock-updater-bin && \
mv -v /tmp/jupiter-dock-updater-bin/packaged/usr/lib/jupiter-dock-updater /usr/libexec/jupiter-dock-updater && \
rm -rf /tmp/jupiter-dock-updater-bin && \
ln -s /usr/bin/steamos-logger /usr/bin/steamos-info && \
ln -s /usr/bin/steamos-logger /usr/bin/steamos-notice && \
/tmp/jupiter-dock-updater-bin
mv -v /tmp/jupiter-dock-updater-bin/packaged/usr/lib/jupiter-dock-updater /usr/libexec/jupiter-dock-updater
rm -rf /tmp/jupiter-dock-updater-bin
ln -s /usr/bin/steamos-logger /usr/bin/steamos-info
ln -s /usr/bin/steamos-logger /usr/bin/steamos-notice
ln -s /usr/bin/steamos-logger /usr/bin/steamos-warning
# Install Steam Deck patched UPower, remove Tuned GUI
@ -104,74 +104,78 @@ dnf5 -y swap \
# Install Gamescope Session & Supporting changes
# Add bootstrap_steam.tar.gz used by gamescope-session (Thanks GE & Nobara Project!)
mkdir -p /usr/share/gamescope-session-plus/ && \
curl -Lo /usr/share/gamescope-session-plus/bootstrap_steam.tar.gz https://large-package-sources.nobaraproject.org/bootstrap_steam.tar.gz && \
mkdir -p /usr/share/gamescope-session-plus/
curl -Lo /usr/share/gamescope-session-plus/bootstrap_steam.tar.gz https://large-package-sources.nobaraproject.org/bootstrap_steam.tar.gz
dnf5 -y install \
gamescope-session-plus \
gamescope-session-steam
# Cleanup & Finalize
/ctx/build_files/image-info && \
mkdir -p "/etc/xdg/autostart" && \
mv "/etc/skel/.config/autostart/steam.desktop" "/etc/xdg/autostart/steam.desktop" && \
sed -i 's@Exec=waydroid first-launch@Exec=/usr/bin/waydroid-launcher first-launch\nX-Steam-Library-Capsule=/usr/share/applications/Waydroid/capsule.png\nX-Steam-Library-Hero=/usr/share/applications/Waydroid/hero.png\nX-Steam-Library-Logo=/usr/share/applications/Waydroid/logo.png\nX-Steam-Library-StoreCapsule=/usr/share/applications/Waydroid/store-logo.png\nX-Steam-Controller-Template=Desktop@g' /usr/share/applications/Waydroid.desktop && \
if grep -q "kinoite" <<< "${BASE_IMAGE_NAME}"; then \
sed -i 's/Exec=.*/Exec=systemctl start return-to-gamemode.service/' /etc/skel/Desktop/Return.desktop && \
mkdir -p /usr/share/ublue-os/backup && \
mv /usr/share/applications/com.github.maliit.keyboard.desktop /usr/share/ublue-os/backup/com.github.maliit.keyboard.desktop \
; fi && \
sed -i 's@\[Desktop Entry\]@\[Desktop Entry\]\nNoDisplay=true@g' /usr/share/applications/input-remapper-gtk.desktop && \
cp "/usr/share/ublue-os/firstboot/yafti.yml" "/etc/yafti.yml" && \
dnf5 copr disable -y ublue-os/akmods && \
dnf5 copr disable -y kylegospo/bazzite && \
dnf5 copr disable -y kylegospo/bazzite-multilib && \
dnf5 copr disable -y kylegospo/LatencyFleX && \
dnf5 copr disable -y kylegospo/obs-vkcapture && \
dnf5 copr disable -y kylegospo/wallpaper-engine-kde-plugin && \
dnf5 copr disable -y hhd-dev/hhd && \
dnf5 copr disable -y ycollet/audinux && \
if grep -q "silverblue" <<< "${BASE_IMAGE_NAME}"; then \
systemctl disable gdm.service && \
systemctl enable sddm.service \
; fi && \
if grep -q "silverblue" <<< "${BASE_IMAGE_NAME}"; then \
mkdir -p "/usr/share/ublue-os/dconfs/deck-silverblue/" && \
cp "/usr/share/glib-2.0/schemas/zz0-"*"-bazzite-deck-silverblue-"*".gschema.override" "/usr/share/ublue-os/dconfs/deck-silverblue/" && \
find "/etc/dconf/db/distro.d/" -maxdepth 1 -type f -exec cp {} "/usr/share/ublue-os/dconfs/deck-silverblue/" \; && \
dconf-override-converter to-dconf "/usr/share/ublue-os/dconfs/deck-silverblue/zz0-"*"-bazzite-deck-silverblue-"*".gschema.override" && \
rm "/usr/share/ublue-os/dconfs/deck-silverblue/zz0-"*"-bazzite-deck-silverblue-"*".gschema.override" \
; else \
systemctl disable usr-share-sddm-themes.mount \
; fi && \
mkdir -p /tmp/bazzite-schema-test && \
find "/usr/share/glib-2.0/schemas/" -type f ! -name "*.gschema.override" -exec cp {} "/tmp/bazzite-schema-test/" \; && \
cp "/usr/share/glib-2.0/schemas/zz0-"*".gschema.override" "/tmp/bazzite-schema-test/" && \
glib-compile-schemas --strict /tmp/bazzite-schema-test && \
glib-compile-schemas /usr/share/glib-2.0/schemas &>/dev/null && \
rm -r /tmp/bazzite-schema-test && \
{ rm -v /usr/share/applications/bazzite-steam-bpm.desktop || true; } && \
systemctl enable bazzite-autologin.service && \
systemctl enable wireplumber-workaround.service && \
systemctl enable wireplumber-sysconf.service && \
systemctl enable pipewire-workaround.service && \
systemctl enable pipewire-sysconf.service && \
systemctl enable ds-inhibit.service && \
systemctl enable cec-onboot.service && \
systemctl enable cec-onpoweroff.service && \
systemctl enable cec-onsleep.service && \
systemctl enable bazzite-tdpfix.service && \
systemctl enable bazzite-grub-boot-success.timer && \
systemctl enable bazzite-grub-boot-success.service && \
systemctl --global disable sdgyrodsu.service && \
systemctl --global disable grub-boot-success.timer && \
systemctl disable grub-boot-indeterminate.service && \
systemctl disable input-remapper.service && \
systemctl disable ublue-update.timer && \
systemctl disable jupiter-fan-control.service && \
systemctl disable vpower.service && \
systemctl disable jupiter-biosupdate.service && \
systemctl disable jupiter-controller-update.service && \
mkdir -p "/etc/xdg/autostart"
mv "/etc/skel/.config/autostart/steam.desktop" "/etc/xdg/autostart/steam.desktop"
sed -i 's@Exec=waydroid first-launch@Exec=/usr/bin/waydroid-launcher first-launch\nX-Steam-Library-Capsule=/usr/share/applications/Waydroid/capsule.png\nX-Steam-Library-Hero=/usr/share/applications/Waydroid/hero.png\nX-Steam-Library-Logo=/usr/share/applications/Waydroid/logo.png\nX-Steam-Library-StoreCapsule=/usr/share/applications/Waydroid/store-logo.png\nX-Steam-Controller-Template=Desktop@g' /usr/share/applications/Waydroid.desktop
if grep -q "kinoite" <<< "${BASE_IMAGE_NAME}"; then
sed -i 's/Exec=.*/Exec=systemctl start return-to-gamemode.service/' /etc/skel/Desktop/Return.desktop
mkdir -p /usr/share/ublue-os/backup
mv /usr/share/applications/com.github.maliit.keyboard.desktop /usr/share/ublue-os/backup/com.github.maliit.keyboard.desktop
fi
sed -i 's@\[Desktop Entry\]@\[Desktop Entry\]\nNoDisplay=true@g' /usr/share/applications/input-remapper-gtk.desktop
cp "/usr/share/ublue-os/firstboot/yafti.yml" "/etc/yafti.yml"
dnf5 copr disable -y ublue-os/akmods
dnf5 copr disable -y kylegospo/bazzite
dnf5 copr disable -y kylegospo/bazzite-multilib
dnf5 copr disable -y kylegospo/LatencyFleX
dnf5 copr disable -y kylegospo/obs-vkcapture
dnf5 copr disable -y kylegospo/wallpaper-engine-kde-plugin
dnf5 copr disable -y hhd-dev/hhd
dnf5 copr disable -y ycollet/audinux
if grep -q "silverblue" <<< "${BASE_IMAGE_NAME}"; then
systemctl disable gdm.service
systemctl enable sddm.service
fi
if grep -q "silverblue" <<< "${BASE_IMAGE_NAME}"; then
mkdir -p "/usr/share/ublue-os/dconfs/deck-silverblue/"
cp "/usr/share/glib-2.0/schemas/zz0-"*"-bazzite-deck-silverblue-"*".gschema.override" "/usr/share/ublue-os/dconfs/deck-silverblue/"
find "/etc/dconf/db/distro.d/" -maxdepth 1 -type f -exec cp {} "/usr/share/ublue-os/dconfs/deck-silverblue/" \;
dconf-override-converter to-dconf "/usr/share/ublue-os/dconfs/deck-silverblue/zz0-"*"-bazzite-deck-silverblue-"*".gschema.override"
rm "/usr/share/ublue-os/dconfs/deck-silverblue/zz0-"*"-bazzite-deck-silverblue-"*".gschema.override"
else
systemctl disable usr-share-sddm-themes.mount
fi
mkdir -p /tmp/bazzite-schema-test
find "/usr/share/glib-2.0/schemas/" -type f ! -name "*.gschema.override" -exec cp {} "/tmp/bazzite-schema-test/" \;
cp "/usr/share/glib-2.0/schemas/zz0-"*".gschema.override" "/tmp/bazzite-schema-test/"
glib-compile-schemas --strict /tmp/bazzite-schema-test
glib-compile-schemas /usr/share/glib-2.0/schemas &>/dev/null
rm -r /tmp/bazzite-schema-test
{ rm -v /usr/share/applications/bazzite-steam-bpm.desktop || true; }
systemctl enable bazzite-autologin.service
systemctl enable wireplumber-workaround.service
systemctl enable wireplumber-sysconf.service
systemctl enable pipewire-workaround.service
systemctl enable pipewire-sysconf.service
systemctl enable ds-inhibit.service
systemctl enable cec-onboot.service
systemctl enable cec-onpoweroff.service
systemctl enable cec-onsleep.service
systemctl enable bazzite-tdpfix.service
systemctl enable bazzite-grub-boot-success.timer
systemctl enable bazzite-grub-boot-success.service
systemctl --global disable sdgyrodsu.service
systemctl --global disable grub-boot-success.timer
systemctl disable grub-boot-indeterminate.service
systemctl disable input-remapper.service
systemctl disable ublue-update.timer
systemctl disable jupiter-fan-control.service
systemctl disable vpower.service
systemctl disable jupiter-biosupdate.service
systemctl disable jupiter-controller-update.service
systemctl disable batterylimit.service
/ctx/build_files/image-info
/ctx/build_files/cleanup
/ctx/build_files/finalize

View File

@ -44,34 +44,34 @@ dnf5 -y remove \
rocm-clinfo
# Install NVIDIA driver
sed -i 's@enabled=0@enabled=1@g' /etc/yum.repos.d/negativo17-fedora-multimedia.repo && \
sed -i 's@enabled=0@enabled=1@g' /etc/yum.repos.d/negativo17-fedora-multimedia.repo
dnf5 -y install \
--repo terra-extras \
mesa-vdpau-drivers.x86_64 \
mesa-vdpau-drivers.i686 && \
curl -Lo /tmp/nvidia-install.sh https://raw.githubusercontent.com/ublue-os/hwe/main/nvidia-install.sh && \
chmod +x /tmp/nvidia-install.sh && \
IMAGE_NAME="${BASE_IMAGE_NAME}" /tmp/nvidia-install.sh && \
rm -f /usr/share/vulkan/icd.d/nouveau_icd.*.json && \
mesa-vdpau-drivers.i686
curl -Lo /tmp/nvidia-install.sh https://raw.githubusercontent.com/ublue-os/hwe/main/nvidia-install.sh
chmod +x /tmp/nvidia-install.sh
IMAGE_NAME="${BASE_IMAGE_NAME}" /tmp/nvidia-install.sh
rm -f /usr/share/vulkan/icd.d/nouveau_icd.*.json
ln -s libnvidia-ml.so.1 /usr/lib64/libnvidia-ml.so
# Cleanup & Finalize
echo "import \"/usr/share/ublue-os/just/95-bazzite-nvidia.just\"" >> /usr/share/ublue-os/justfile && \
sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/negativo17-fedora-multimedia.repo && \
if grep -q "silverblue" <<< "${BASE_IMAGE_NAME}"; then \
mkdir -p "/usr/share/ublue-os/dconfs/nvidia-silverblue/" && \
cp "/usr/share/glib-2.0/schemas/zz0-"*"-bazzite-nvidia-silverblue-"*".gschema.override" "/usr/share/ublue-os/dconfs/nvidia-silverblue/" && \
dconf-override-converter to-dconf "/usr/share/ublue-os/dconfs/nvidia-silverblue/zz0-"*"-bazzite-nvidia-silverblue-"*".gschema.override" && \
rm "/usr/share/ublue-os/dconfs/nvidia-silverblue/zz0-"*"-bazzite-nvidia-silverblue-"*".gschema.override" \
; fi && \
mkdir -p /tmp/bazzite-schema-test && \
find "/usr/share/glib-2.0/schemas/" -type f ! -name "*.gschema.override" -exec cp {} "/tmp/bazzite-schema-test/" \; && \
cp "/usr/share/glib-2.0/schemas/zz0-"*".gschema.override" "/tmp/bazzite-schema-test/" && \
glib-compile-schemas --strict /tmp/bazzite-schema-test && \
glib-compile-schemas /usr/share/glib-2.0/schemas &>/dev/null && \
rm -r /tmp/bazzite-schema-test && \
/ctx/build_files/image-info && \
/ctx/build_files/build-initramfs
echo "import \"/usr/share/ublue-os/just/95-bazzite-nvidia.just\"" >> /usr/share/ublue-os/justfile
sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/negativo17-fedora-multimedia.repo
if grep -q "silverblue" <<< "${BASE_IMAGE_NAME}"; then
mkdir -p "/usr/share/ublue-os/dconfs/nvidia-silverblue/"
cp "/usr/share/glib-2.0/schemas/zz0-"*"-bazzite-nvidia-silverblue-"*".gschema.override" "/usr/share/ublue-os/dconfs/nvidia-silverblue/"
dconf-override-converter to-dconf "/usr/share/ublue-os/dconfs/nvidia-silverblue/zz0-"*"-bazzite-nvidia-silverblue-"*".gschema.override"
rm "/usr/share/ublue-os/dconfs/nvidia-silverblue/zz0-"*"-bazzite-nvidia-silverblue-"*".gschema.override"
fi
mkdir -p /tmp/bazzite-schema-test
find "/usr/share/glib-2.0/schemas/" -type f ! -name "*.gschema.override" -exec cp {} "/tmp/bazzite-schema-test/" \;
cp "/usr/share/glib-2.0/schemas/zz0-"*".gschema.override" "/tmp/bazzite-schema-test/"
glib-compile-schemas --strict /tmp/bazzite-schema-test
glib-compile-schemas /usr/share/glib-2.0/schemas &>/dev/null
rm -r /tmp/bazzite-schema-test
/ctx/build_files/image-info
/ctx/build_files/build-initramfs
/ctx/build_files/cleanup
/ctx/build_files/finalize

View File

@ -11,4 +11,4 @@ fi
QUALIFIED_KERNEL="$(rpm -qa | grep -P 'kernel-(|'"$KERNEL_SUFFIX"'-)(\d+\.\d+\.\d+)' | sed -E 's/kernel-(|'"$KERNEL_SUFFIX"'-)//')"
/usr/bin/dracut --no-hostonly --kver "$QUALIFIED_KERNEL" --reproducible --zstd -v --add ostree -f "/lib/modules/$QUALIFIED_KERNEL/initramfs.img"
chmod 0600 /lib/modules/$QUALIFIED_KERNEL/initramfs.img
chmod 0600 "/lib/modules/$QUALIFIED_KERNEL/initramfs.img"