From 4cebc1656fdd3a1f1e06b9e912ffea0028c37f54 Mon Sep 17 00:00:00 2001 From: Kyle Gospodnetich Date: Sat, 22 Mar 2025 15:18:22 -0700 Subject: feat: Avoid copying build files into image, add option for linting (#93) --- build_files/build.sh | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100755 build_files/build.sh (limited to 'build_files/build.sh') diff --git a/build_files/build.sh b/build_files/build.sh new file mode 100755 index 0000000..f1e659a --- /dev/null +++ b/build_files/build.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +set -ouex pipefail + +### Install packages + +# Packages can be installed from any enabled yum repo on the image. +# RPMfusion repos are available by default in ublue main images +# List of rpmfusion packages can be found here: +# https://mirrors.rpmfusion.org/mirrorlist?path=free/fedora/updates/39/x86_64/repoview/index.html&protocol=https&redirect=1 + +# this installs a package from fedora repos +dnf5 install -y tmux + +# Use a COPR Example: +# +# dnf5 -y copr enable ublue-os/staging +# dnf5 -y install package +# Disable COPRs so they don't end up enabled on the final image: +# dnf5 -y copr disable ublue-os/staging + +#### Example for enabling a System Unit File + +systemctl enable podman.socket -- cgit v1.2.3 From 9caf29078b7b582768710844a4987fa0051bbf81 Mon Sep 17 00:00:00 2001 From: yodatak Date: Sat, 3 Jan 2026 16:59:50 +0100 Subject: Update build.sh (#182) --- build_files/build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'build_files/build.sh') diff --git a/build_files/build.sh b/build_files/build.sh index f1e659a..ebffafc 100755 --- a/build_files/build.sh +++ b/build_files/build.sh @@ -7,7 +7,7 @@ set -ouex pipefail # Packages can be installed from any enabled yum repo on the image. # RPMfusion repos are available by default in ublue main images # List of rpmfusion packages can be found here: -# https://mirrors.rpmfusion.org/mirrorlist?path=free/fedora/updates/39/x86_64/repoview/index.html&protocol=https&redirect=1 +# https://mirrors.rpmfusion.org/mirrorlist?path=free/fedora/updates/43/x86_64/repoview/index.html&protocol=https&redirect=1 # this installs a package from fedora repos dnf5 install -y tmux -- cgit v1.2.3 From a65bb3da1f7c5ed04ac3d8b5f69878c5ecee14ea Mon Sep 17 00:00:00 2001 From: renner <80410025+renner0e@users.noreply.github.com> Date: Wed, 17 Jun 2026 16:16:34 +0200 Subject: refactor: rewrite in just, saner defaults (#218) * refactor: rewrite in just, saner defaults I think it makes sense to do this as it is longterm easier to maintain, locally iterate and extend. Documents how to rebase to a local image, it pains me greatly when people iterate on github and wait forever for things to build and then to download the image for trivial things they could also quickly do locally. Rpm-ostree rechunker by default instead of opt-in legacy-rechunker, chunkah is also available if people want to use it already, if we deem it ready then we can enable it later on. They can all be opted-out of. Have a way to copy files to /{usr,etc} by default. We should sign the digest of the image instead of the tag. Co-Authored-by: a lot of sugar and bad music * docs: bump fedora-bootc version Co-authored-by: Jill Fiore * fix: formatting inconsistency Co-authored-by: Jill Fiore * docs: remove variable mentions from workflows These are now defined in the image-template.env file * fix: small nits in labels Co-authored-by: Adam Fidel --------- Co-authored-by: Jill Fiore Co-authored-by: Adam Fidel --- build_files/build.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'build_files/build.sh') diff --git a/build_files/build.sh b/build_files/build.sh index ebffafc..0bb290c 100755 --- a/build_files/build.sh +++ b/build_files/build.sh @@ -2,6 +2,9 @@ set -ouex pipefail +# Copy the contents of system_files/ of the git repo to / +cp -avf "/ctx/system_files"/. / + ### Install packages # Packages can be installed from any enabled yum repo on the image. @@ -10,7 +13,7 @@ set -ouex pipefail # https://mirrors.rpmfusion.org/mirrorlist?path=free/fedora/updates/43/x86_64/repoview/index.html&protocol=https&redirect=1 # this installs a package from fedora repos -dnf5 install -y tmux +dnf5 install -y tmux # Use a COPR Example: # -- cgit v1.2.3 From ed40e44b610cac878f17fa4233d8e3d19b8d67bb Mon Sep 17 00:00:00 2001 From: tranch Date: Thu, 9 Jul 2026 16:53:52 +0800 Subject: Configure AeroCore image mirrors Add build-time mirror configuration for Flatpak and Homebrew, expose the related build args, and install an AeroCore-owned profile script to load mirror environment files. Rename the mirror configuration files from the Bazzite-prefixed names to AeroCore-prefixed names while keeping the upstream Bazzite helper reference intact. Verification: bash -n system_files/etc/profile.d/aerocore-mirrors.sh && bash -n build_files/build.sh --- build_files/build.sh | 37 ++++++++++++++++++++++--------------- 1 file changed, 22 insertions(+), 15 deletions(-) (limited to 'build_files/build.sh') diff --git a/build_files/build.sh b/build_files/build.sh index 0bb290c..f1709da 100755 --- a/build_files/build.sh +++ b/build_files/build.sh @@ -5,23 +5,30 @@ set -ouex pipefail # Copy the contents of system_files/ of the git repo to / cp -avf "/ctx/system_files"/. / -### Install packages +mkdir -p /etc/environment.d -# Packages can be installed from any enabled yum repo on the image. -# RPMfusion repos are available by default in ublue main images -# List of rpmfusion packages can be found here: -# https://mirrors.rpmfusion.org/mirrorlist?path=free/fedora/updates/43/x86_64/repoview/index.html&protocol=https&redirect=1 +if [[ -n "${FLATPAK_REMOTE_URL:-}" || -n "${HOMEBREW_BOTTLE_DOMAIN:-}" || -n "${HOMEBREW_API_DOMAIN:-}" ]]; then + : > /etc/environment.d/99-aerocore-mirrors.conf +fi -# this installs a package from fedora repos -dnf5 install -y tmux +if [[ -n "${FLATPAK_REMOTE_URL:-}" ]]; then + printf '%s\n' "FLATPAK_REMOTE_URL=${FLATPAK_REMOTE_URL}" >> /etc/environment.d/99-aerocore-mirrors.conf + if [[ -f /usr/libexec/bazzite-mirror-utils.sh ]]; then + bash /usr/libexec/bazzite-mirror-utils.sh update_flathub_repo_url "${FLATPAK_REMOTE_URL}" + fi +fi -# Use a COPR Example: -# -# dnf5 -y copr enable ublue-os/staging -# dnf5 -y install package -# Disable COPRs so they don't end up enabled on the final image: -# dnf5 -y copr disable ublue-os/staging +if [[ -n "${HOMEBREW_BOTTLE_DOMAIN:-}" || -n "${HOMEBREW_API_DOMAIN:-}" ]]; then + mkdir -p /etc/skel/.config/environment.d + : > /etc/skel/.config/environment.d/99-aerocore-mirrors.conf +fi -#### Example for enabling a System Unit File +if [[ -n "${HOMEBREW_BOTTLE_DOMAIN:-}" ]]; then + printf '%s\n' "HOMEBREW_BOTTLE_DOMAIN=${HOMEBREW_BOTTLE_DOMAIN}" | tee -a /etc/environment.d/99-aerocore-mirrors.conf /etc/skel/.config/environment.d/99-aerocore-mirrors.conf >/dev/null +fi -systemctl enable podman.socket +if [[ -n "${HOMEBREW_API_DOMAIN:-}" ]]; then + printf '%s\n' "HOMEBREW_API_DOMAIN=${HOMEBREW_API_DOMAIN}" | tee -a /etc/environment.d/99-aerocore-mirrors.conf /etc/skel/.config/environment.d/99-aerocore-mirrors.conf >/dev/null +fi + +find /etc/environment.d /etc/skel/.config/environment.d -name 99-aerocore-mirrors.conf -type f -exec chmod 0644 {} + 2>/dev/null || true -- cgit v1.2.3 From 5a41b4c5daf60b45105d0dc552c4d46022c92b04 Mon Sep 17 00:00:00 2001 From: tranch Date: Wed, 15 Jul 2026 14:04:06 +0800 Subject: Integrate Instruments release seed Download and verify the selected release during image builds. Bootstrap it once into the first graphical user's XDG directories. --- build_files/build.sh | 2 ++ 1 file changed, 2 insertions(+) (limited to 'build_files/build.sh') diff --git a/build_files/build.sh b/build_files/build.sh index f1709da..b89907a 100755 --- a/build_files/build.sh +++ b/build_files/build.sh @@ -32,3 +32,5 @@ if [[ -n "${HOMEBREW_API_DOMAIN:-}" ]]; then fi find /etc/environment.d /etc/skel/.config/environment.d -name 99-aerocore-mirrors.conf -type f -exec chmod 0644 {} + 2>/dev/null || true + +/ctx/install-instruments.sh -- cgit v1.2.3 From f66aa82b4c3890c8f6b2741bfedd31405dcbd39f Mon Sep 17 00:00:00 2001 From: tranch Date: Wed, 15 Jul 2026 14:39:34 +0800 Subject: Recognize AeroCore as a Deck image Preserve Bazzite's Deck configuration for AeroCore images. Restore SDDM defaults removed by earlier deployments. --- build_files/build.sh | 1 + 1 file changed, 1 insertion(+) (limited to 'build_files/build.sh') diff --git a/build_files/build.sh b/build_files/build.sh index b89907a..3d37e31 100755 --- a/build_files/build.sh +++ b/build_files/build.sh @@ -34,3 +34,4 @@ fi find /etc/environment.d /etc/skel/.config/environment.d -name 99-aerocore-mirrors.conf -type f -exec chmod 0644 {} + 2>/dev/null || true /ctx/install-instruments.sh +/ctx/patch-bazzite-deck-identity.sh -- cgit v1.2.3 From fc07365cdc27a2e78a57cdf673fa19a99d7cf57f Mon Sep 17 00:00:00 2001 From: tranch Date: Wed, 22 Jul 2026 08:40:43 +0800 Subject: Constrain builds to bazzite-deck Keep the live installer Fedora version aligned with the deck base image and fail early if BASE_IMAGE is overridden to a non-deck variant. --- build_files/build.sh | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'build_files/build.sh') diff --git a/build_files/build.sh b/build_files/build.sh index 3d37e31..03adff0 100755 --- a/build_files/build.sh +++ b/build_files/build.sh @@ -2,6 +2,15 @@ set -ouex pipefail +case "${BASE_IMAGE:-}" in + ghcr.io/ublue-os/bazzite-deck:* | ghcr.io/ublue-os/bazzite-deck@*) + ;; + *) + echo "AeroCore OS only supports bazzite-deck BASE_IMAGE values for HTPC game-mode builds: ${BASE_IMAGE:-}" >&2 + exit 1 + ;; +esac + # Copy the contents of system_files/ of the git repo to / cp -avf "/ctx/system_files"/. / -- cgit v1.2.3 From 959986e9d96c65fab30da939005a6880dfa77d52 Mon Sep 17 00:00:00 2001 From: tranch Date: Fri, 14 Aug 2026 11:58:13 +0800 Subject: Enable HDMI CEC sleep standby by default --- build_files/build.sh | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'build_files/build.sh') diff --git a/build_files/build.sh b/build_files/build.sh index 03adff0..5618d20 100755 --- a/build_files/build.sh +++ b/build_files/build.sh @@ -14,6 +14,20 @@ esac # Copy the contents of system_files/ of the git repo to / cp -avf "/ctx/system_files"/. / +# Default HDMI-CEC to putting the TV into standby when the system sleeps. +# `ujust toggle-cec-sleep enable` changes this same setting at runtime. Keep +# the default in the base image's config so users do not need to run the +# command manually after a fresh install; the runtime command can still +# change it later. +CEC_CONFIG=/etc/default/cec-control +if [[ -f "${CEC_CONFIG}" ]]; then + if grep -q '^CEC_ONSLEEP_STANDBY=' "${CEC_CONFIG}"; then + sed -i 's/^CEC_ONSLEEP_STANDBY=.*/CEC_ONSLEEP_STANDBY=true/' "${CEC_CONFIG}" + else + printf '%s\n' 'CEC_ONSLEEP_STANDBY=true' >> "${CEC_CONFIG}" + fi +fi + mkdir -p /etc/environment.d if [[ -n "${FLATPAK_REMOTE_URL:-}" || -n "${HOMEBREW_BOTTLE_DOMAIN:-}" || -n "${HOMEBREW_API_DOMAIN:-}" ]]; then -- cgit v1.2.3 From ed4bd0d089d41c5d95fe74937acc2a779c6de6d4 Mon Sep 17 00:00:00 2001 From: tranch Date: Tue, 25 Aug 2026 10:44:18 +0800 Subject: fix(installer): validate ISO payload metadata Rewrite system-release atomically and reject stale or NUL-bearing payload metadata before it reaches Anaconda bootupd. --- build_files/build.sh | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'build_files/build.sh') diff --git a/build_files/build.sh b/build_files/build.sh index 5618d20..dd58852 100755 --- a/build_files/build.sh +++ b/build_files/build.sh @@ -14,6 +14,39 @@ esac # Copy the contents of system_files/ of the git repo to / cp -avf "/ctx/system_files"/. / +# KDE's Deck presets use distributor-logo-steamdeck.svg for the Kickoff +# launcher. In the Bazzite base image that name (and the related aliases) +# may already exist as links to the upstream distributor-logo.svg. Install +# the AeroCore asset explicitly after the general overlay so the final image +# cannot silently retain the upstream Bazzite logo. +AEROCORE_DISTRIBUTOR_LOGO="/ctx/system_files/usr/share/icons/hicolor/scalable/places/distributor-logo.svg" +AEROCORE_ICON_DIR="/usr/share/icons/hicolor/scalable/places" +mkdir -p "${AEROCORE_ICON_DIR}" +for icon_name in \ + distributor-logo.svg \ + distributor-logo-steamdeck.svg \ + bazzite-logo.svg \ + start-here.svg; do + cp -f "${AEROCORE_DISTRIBUTOR_LOGO}" "${AEROCORE_ICON_DIR}/${icon_name}" +done + +# The Plasma launcher resolves the standard start-here name from both scalable +# and per-size places directories. Populate every existing Bazzite icon size +# in the installed payload, not only in the live installer image. +for icon_dir in /usr/share/icons/hicolor/*/places; do + [[ -d "${icon_dir}" ]] || continue + source_icon="${icon_dir}/bazzite-logo-icon.png" + if [[ -f "${source_icon}" ]]; then + cp -f "${source_icon}" "${icon_dir}/start-here.png" + cp -f "${source_icon}" "${icon_dir}/fedora-logo-icon.png" + fi +done + +if ! cmp -s "${AEROCORE_DISTRIBUTOR_LOGO}" "${AEROCORE_ICON_DIR}/distributor-logo.svg"; then + echo "AeroCore distributor logo was not installed into the image" >&2 + exit 1 +fi + # Default HDMI-CEC to putting the TV into standby when the system sleeps. # `ujust toggle-cec-sleep enable` changes this same setting at runtime. Keep # the default in the base image's config so users do not need to run the -- cgit v1.2.3 From 5bf694571bd0a13873e7326a55995969bd7a0759 Mon Sep 17 00:00:00 2001 From: tranch Date: Thu, 27 Aug 2026 04:14:34 +0800 Subject: fix: install payload PNG branding aliases Copy each size root icon into the launcher alias paths. --- build_files/build.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'build_files/build.sh') diff --git a/build_files/build.sh b/build_files/build.sh index dd58852..5a7f780 100755 --- a/build_files/build.sh +++ b/build_files/build.sh @@ -33,12 +33,13 @@ done # The Plasma launcher resolves the standard start-here name from both scalable # and per-size places directories. Populate every existing Bazzite icon size # in the installed payload, not only in the live installer image. -for icon_dir in /usr/share/icons/hicolor/*/places; do +for icon_dir in /usr/share/icons/hicolor/*; do [[ -d "${icon_dir}" ]] || continue source_icon="${icon_dir}/bazzite-logo-icon.png" if [[ -f "${source_icon}" ]]; then - cp -f "${source_icon}" "${icon_dir}/start-here.png" - cp -f "${source_icon}" "${icon_dir}/fedora-logo-icon.png" + mkdir -p "${icon_dir}/apps" "${icon_dir}/places" + cp -f "${source_icon}" "${icon_dir}/places/start-here.png" + cp -f "${source_icon}" "${icon_dir}/apps/fedora-logo-icon.png" fi done -- cgit v1.2.3 From e4608f18bc3a5ad307e1a1deaa7ac0048d03f991 Mon Sep 17 00:00:00 2001 From: tranch Date: Thu, 27 Aug 2026 08:08:00 +0800 Subject: fix: replace symlinked desktop branding assets --- build_files/build.sh | 43 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) (limited to 'build_files/build.sh') diff --git a/build_files/build.sh b/build_files/build.sh index 5a7f780..b4acb10 100755 --- a/build_files/build.sh +++ b/build_files/build.sh @@ -14,6 +14,17 @@ esac # Copy the contents of system_files/ of the git repo to / cp -avf "/ctx/system_files"/. / +install_regular_file() { + local source_file="$1" + local destination_file="$2" + + # Several Bazzite branding paths are symlinks. cp follows an existing + # destination symlink, which leaves the name Plasma resolves untouched. + # Replace the link itself so the final immutable image owns this exact path. + rm -f -- "${destination_file}" + install -Dm0644 -- "${source_file}" "${destination_file}" +} + # KDE's Deck presets use distributor-logo-steamdeck.svg for the Kickoff # launcher. In the Bazzite base image that name (and the related aliases) # may already exist as links to the upstream distributor-logo.svg. Install @@ -27,9 +38,37 @@ for icon_name in \ distributor-logo-steamdeck.svg \ bazzite-logo.svg \ start-here.svg; do - cp -f "${AEROCORE_DISTRIBUTOR_LOGO}" "${AEROCORE_ICON_DIR}/${icon_name}" + install_regular_file "${AEROCORE_DISTRIBUTOR_LOGO}" "${AEROCORE_ICON_DIR}/${icon_name}" +done + +# Use a downstream-specific, non-upstream icon name for Plasma's launcher. +install_regular_file \ + "/ctx/system_files/usr/share/pixmaps/bazzite-logo-le.svg" \ + "/usr/share/icons/hicolor/scalable/apps/aerocore-logo.svg" + +# Game Mode's Vapor splash asset is an upstream symlink on current Bazzite +# images, while VGUI is a regular file. Replace both exact paths explicitly. +for look_and_feel in com.valve.vapor.desktop com.valve.vgui.desktop; do + install_regular_file \ + "/ctx/system_files/usr/share/plasma/look-and-feel/${look_and_feel}/contents/splash/images/bazzite_logo.svgz" \ + "/usr/share/plasma/look-and-feel/${look_and_feel}/contents/splash/images/bazzite_logo.svgz" done +# Steam's Game Mode transitions load these four assets directly. They are +# symlinks in some upstream layers, so replace their directory entries just +# like the Plasma splash assets above. +for animation in \ + bazzite.webm \ + bazzite-oled.webm \ + bazzite-suspend.webm \ + bazzite-suspend-oled.webm; do + install_regular_file \ + "/ctx/system_files/usr/share/ublue-os/bazzite/${animation}" \ + "/usr/share/ublue-os/bazzite/${animation}" +done + +gtk-update-icon-cache -f /usr/share/icons/hicolor || true + # The Plasma launcher resolves the standard start-here name from both scalable # and per-size places directories. Populate every existing Bazzite icon size # in the installed payload, not only in the live installer image. @@ -90,5 +129,7 @@ fi find /etc/environment.d /etc/skel/.config/environment.d -name 99-aerocore-mirrors.conf -type f -exec chmod 0644 {} + 2>/dev/null || true +systemctl enable aerocore-desktop-branding.service + /ctx/install-instruments.sh /ctx/patch-bazzite-deck-identity.sh -- cgit v1.2.3 From 258e7422812b1a18f75c5a48030c64ccb16766ba Mon Sep 17 00:00:00 2001 From: tranch Date: Thu, 27 Aug 2026 23:00:51 +0800 Subject: fix: replace About System logo symlink Ensure KDE About System uses the AeroCore asset in both payload and live installer builds. --- build_files/build.sh | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'build_files/build.sh') diff --git a/build_files/build.sh b/build_files/build.sh index b4acb10..916e29d 100755 --- a/build_files/build.sh +++ b/build_files/build.sh @@ -46,6 +46,13 @@ install_regular_file \ "/ctx/system_files/usr/share/pixmaps/bazzite-logo-le.svg" \ "/usr/share/icons/hicolor/scalable/apps/aerocore-logo.svg" +# KDE's About System KCM loads this path from kcm-about-distrorc. The base +# image may provide it as a symlink, so replace the directory entry itself or +# the KCM can continue rendering the upstream Bazzite logo. +install_regular_file \ + "/ctx/system_files/usr/share/pixmaps/system-logo-white.png" \ + "/usr/share/pixmaps/system-logo-white.png" + # Game Mode's Vapor splash asset is an upstream symlink on current Bazzite # images, while VGUI is a regular file. Replace both exact paths explicitly. for look_and_feel in com.valve.vapor.desktop com.valve.vgui.desktop; do -- cgit v1.2.3 From 7889a92c2eea98189330ad1fbfbef4c33a7e3071 Mon Sep 17 00:00:00 2001 From: tranch Date: Fri, 28 Aug 2026 08:57:25 +0800 Subject: Move branding migration into user setup --- build_files/build.sh | 2 -- 1 file changed, 2 deletions(-) (limited to 'build_files/build.sh') diff --git a/build_files/build.sh b/build_files/build.sh index 916e29d..559dc7b 100755 --- a/build_files/build.sh +++ b/build_files/build.sh @@ -136,7 +136,5 @@ fi find /etc/environment.d /etc/skel/.config/environment.d -name 99-aerocore-mirrors.conf -type f -exec chmod 0644 {} + 2>/dev/null || true -systemctl enable aerocore-desktop-branding.service - /ctx/install-instruments.sh /ctx/patch-bazzite-deck-identity.sh -- cgit v1.2.3 From ff102db146c813632f53a8f2d910763bcc19c4d1 Mon Sep 17 00:00:00 2001 From: tranch Date: Fri, 11 Sep 2026 01:09:57 +0800 Subject: Fix ujust Decky mirror recipe registration --- build_files/build.sh | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'build_files/build.sh') diff --git a/build_files/build.sh b/build_files/build.sh index 559dc7b..e3e94a1 100755 --- a/build_files/build.sh +++ b/build_files/build.sh @@ -14,6 +14,15 @@ esac # Copy the contents of system_files/ of the git repo to / cp -avf "/ctx/system_files"/. / +# ujust loads explicit imports, not every fragment in the just/ directory. +# Preserve upstream recipes and register our overlay after copying its files. +AEROCORE_DECKY_IMPORT='import "/usr/share/ublue-os/just/92-aerocore-decky-mirror.just"' +if ! grep -Fxq "${AEROCORE_DECKY_IMPORT}" /usr/share/ublue-os/justfile; then + printf '\n%s\n' "${AEROCORE_DECKY_IMPORT}" >> /usr/share/ublue-os/justfile +fi +# Fail the image build if the public entry point cannot resolve the recipe. +ujust --show setup-decky-mirror >/dev/null + install_regular_file() { local source_file="$1" local destination_file="$2" -- cgit v1.2.3 From cc6d75a6db0a316de56cb0abc78206fa1bcef1cd Mon Sep 17 00:00:00 2001 From: tranch Date: Fri, 11 Sep 2026 16:56:22 +0800 Subject: Patch brh to preserve current image registry --- build_files/build.sh | 1 + 1 file changed, 1 insertion(+) (limited to 'build_files/build.sh') diff --git a/build_files/build.sh b/build_files/build.sh index e3e94a1..9e13cfd 100755 --- a/build_files/build.sh +++ b/build_files/build.sh @@ -147,3 +147,4 @@ find /etc/environment.d /etc/skel/.config/environment.d -name 99-aerocore-mirror /ctx/install-instruments.sh /ctx/patch-bazzite-deck-identity.sh +/ctx/patch-bazzite-rollback-helper.sh -- cgit v1.2.3 From c1c1027f3664db21397a7175465f31777b591504 Mon Sep 17 00:00:00 2001 From: tranch Date: Sun, 13 Sep 2026 13:57:32 +0800 Subject: Fix Return to Gaming Mode desktop launcher Use the current Bazzite script entry point instead of the legacy privileged systemd service, which is absent from current images. --- build_files/build.sh | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'build_files/build.sh') diff --git a/build_files/build.sh b/build_files/build.sh index 9e13cfd..40b9efd 100755 --- a/build_files/build.sh +++ b/build_files/build.sh @@ -14,6 +14,15 @@ esac # Copy the contents of system_files/ of the git repo to / cp -avf "/ctx/system_files"/. / +# Bazzite's Kinoite/Plasma desktop shortcut used to start a privileged +# return-to-gamemode.service. Current Bazzite invokes the user-session entry +# point directly; keep the shortcut correct when the base image still ships +# the legacy Exec= line. +RETURN_TO_GAMING_DESKTOP="/etc/skel/Desktop/Return.desktop" +if [[ -f "${RETURN_TO_GAMING_DESKTOP}" ]]; then + sed -i 's|^Exec=.*|Exec=/usr/bin/return-to-gamemode|' "${RETURN_TO_GAMING_DESKTOP}" +fi + # ujust loads explicit imports, not every fragment in the just/ directory. # Preserve upstream recipes and register our overlay after copying its files. AEROCORE_DECKY_IMPORT='import "/usr/share/ublue-os/just/92-aerocore-decky-mirror.just"' -- cgit v1.2.3