From 1a4be9911d7f1de2f4dff12bce86029a1e16a7bd Mon Sep 17 00:00:00 2001 From: renner <80410025+renner0e@users.noreply.github.com> Date: Sat, 19 Sep 2026 19:44:08 +0000 Subject: [PATCH] chore: cleanup systemd services, move to presets (#2892) * chore: cleanup systemd services, move to presets Preset files are cooler [1] and we should be able to get rid of a little bit of complexity on the ISOs as we simply delete the preset file to undo things we don't want to have on the ISO (uupd, tailscale ...) instead of playing catch-up with the image [2]. Also we don't need to enable the *service* of rpm-ostree-countme, we want to have the *timer* enabled, which is already done by default in Fedora. The rpm-ostreed-automatic.timer is a leftover from ublue-os/main days as we enable that for those images but disable it here as we use uupd. The Bazaar service got deleted and the need for that got completely eliminated upstream recently. [1] https://www.freedesktop.org/software/systemd/man/latest/systemd.preset.html [2] https://github.com/get-aurora-dev/iso/issues/100 * chore: also do DX * sunshine we should make this a seperate thing as we want to still have this disabled on the live iso * deal with homebrew nonsense * prefix with 89 so they can be overriden by others via preset files but still have more priority over Fedora ones * split fedora flatpak related services so we can more easily keep this configuration active --- build_scripts/base/16-override-install.sh | 10 ++++ build_scripts/base/17-cleanup.sh | 49 +------------------ build_scripts/dx/00-dx.sh | 8 --- build_scripts/shared/clean-stage.sh | 1 - .../systemd/system-preset/89-aurora-dx.preset | 3 ++ .../systemd/user-preset/89-aurora-dx.preset | 1 + .../89-aurora-disable-fedora-flatpaks.preset | 2 + .../systemd/system-preset/89-aurora.preset | 11 +++++ .../user-preset/89-aurora-sunshine.preset | 2 + .../lib/systemd/user-preset/89-aurora.preset | 10 ++++ 10 files changed, 41 insertions(+), 56 deletions(-) create mode 100644 system_files/dx/usr/lib/systemd/system-preset/89-aurora-dx.preset create mode 100644 system_files/dx/usr/lib/systemd/user-preset/89-aurora-dx.preset create mode 100644 system_files/shared/usr/lib/systemd/system-preset/89-aurora-disable-fedora-flatpaks.preset create mode 100644 system_files/shared/usr/lib/systemd/system-preset/89-aurora.preset create mode 100644 system_files/shared/usr/lib/systemd/user-preset/89-aurora-sunshine.preset create mode 100644 system_files/shared/usr/lib/systemd/user-preset/89-aurora.preset diff --git a/build_scripts/base/16-override-install.sh b/build_scripts/base/16-override-install.sh index f7fc27e2..c1f836c8 100755 --- a/build_scripts/base/16-override-install.sh +++ b/build_scripts/base/16-override-install.sh @@ -10,6 +10,9 @@ mv /usr/bin/plasma-welcome /usr/bin/plasma-welcome-original # Copy Files to Container rsync -rvKl /ctx/system_files/shared/ / +# this removes the enablement for brew-up{d,gr}ade.timer, we use uupd +rm -f /usr/lib/systemd/system-preset/01-homebrew.preset + # this adds bootc and ostree to the initramfs cp /usr/share/doc/bootc/baseimage/dracut/usr/lib/dracut.conf.d/10-bootc-base.conf /usr/lib/dracut/dracut.conf.d/ @@ -51,4 +54,11 @@ ln -s /usr/share/applications/dev.getaurora.offline-docs.desktop /usr/share/kglo desktop-file-edit --set-key=X-KDE-Shortcuts --set-value='Ctrl+Alt+T,Meta+Return' /usr/share/applications/org.kde.konsole.desktop ln -sf /usr/share/applications/org.kde.konsole.desktop /usr/share/kglobalaccel/org.kde.konsole.desktop +# we don't want them to show up graphically +for file in htop nvtop; do + if [[ -f "/usr/share/applications/${file}.desktop" ]]; then + desktop-file-edit --set-key=Hidden --set-value=true /usr/share/applications/${file}.desktop + fi +done + echo "::endgroup::" diff --git a/build_scripts/base/17-cleanup.sh b/build_scripts/base/17-cleanup.sh index 3f59233d..6e0f891a 100755 --- a/build_scripts/base/17-cleanup.sh +++ b/build_scripts/base/17-cleanup.sh @@ -4,59 +4,14 @@ echo "::group:: ===$(basename "$0")===" set -eoux pipefail -# Setup Systemd -systemctl enable rpm-ostree-countme.service -systemctl enable tailscaled.service -systemctl enable dconf-update.service -systemctl enable brew-setup.service -systemctl enable aurora-groups.service -systemctl enable ublue-system-setup.service -systemctl --global enable ublue-user-setup.service -systemctl --global enable podman-auto-update.timer -systemctl enable input-remapper.service - -# Nuke possible Fedora flatpak repos -systemctl enable flatpak-nuke-fedora.service - -# TODO: Reinvestigate when bazaar gains dbus activation -# systemctl --global enable bazaar.service - -# see /usr/bin/rechunker-group-fix -# DO NOT REMOVE THIS -systemctl enable rechunker-group-fix.service - -# run flatpak preinstall once at startup -systemctl enable flatpak-preinstall.service - -# disable sunshine service -systemctl --global disable app-dev.lizardbyte.app.Sunshine.service - -# Make speech dispatcher work by default -# TODO: Revisit with F45 -# https://src.fedoraproject.org/rpms/redhat-systemd-presets/pull-request/4 -# https://bugzilla.redhat.com/show_bug.cgi?id=2284507 -systemctl --global enable speech-dispatcher.socket - -# Updater -systemctl enable uupd.timer - -# Disable the old update timer -systemctl disable rpm-ostreed-automatic.timer # TODO: Remove with F45 release if [[ "${AKMODS_FLAVOR}" =~ coreos ]]; then systemctl enable aurora-zfs-deprecation-notifier.timer fi -# Hide Desktop Files. Hidden removes mime associations -for file in htop nvtop; do - if [[ -f "/usr/share/applications/${file}.desktop" ]]; then - desktop-file-edit --set-key=Hidden --set-value=true /usr/share/applications/${file}.desktop - fi -done - -# NOTE: With isolated COPR installation, most repos are never enabled globally. -# We only need to clean up repos that were enabled during the build process. +systemctl preset-all +systemctl --global preset-all # Disable third-party repos for repo in fedora-multimedia tailscale fedora-cisco-openh264; do diff --git a/build_scripts/dx/00-dx.sh b/build_scripts/dx/00-dx.sh index 72faad93..d83c9d12 100755 --- a/build_scripts/dx/00-dx.sh +++ b/build_scripts/dx/00-dx.sh @@ -109,14 +109,6 @@ EOF # Branding Changes echo "Variant=Developer Experience" >> /usr/share/kde-settings/kde-profile/default/xdg/kcm-about-distrorc -# Enable DX services -if rpm -q docker-ce >/dev/null; then - systemctl enable docker.socket -fi -systemctl enable podman.socket -systemctl enable ublue-os-libvirt-workarounds.service -systemctl enable --global aurora-dx-user-vscode.service - # Disable RPM Fusion repos for i in /etc/yum.repos.d/rpmfusion-*.repo; do if [[ -f "$i" ]]; then diff --git a/build_scripts/shared/clean-stage.sh b/build_scripts/shared/clean-stage.sh index e83ff928..6f9b1dec 100755 --- a/build_scripts/shared/clean-stage.sh +++ b/build_scripts/shared/clean-stage.sh @@ -12,7 +12,6 @@ dnf versionlock clear rm -rf /usr/lib/sysimage/libdnf5/* # This comes last because we can't *ever* afford to ship fedora flatpaks on the image -systemctl disable flatpak-add-fedora-repos.service systemctl mask flatpak-add-fedora-repos.service rm -f /usr/lib/systemd/system/flatpak-add-fedora-repos.service diff --git a/system_files/dx/usr/lib/systemd/system-preset/89-aurora-dx.preset b/system_files/dx/usr/lib/systemd/system-preset/89-aurora-dx.preset new file mode 100644 index 00000000..1d3fedd6 --- /dev/null +++ b/system_files/dx/usr/lib/systemd/system-preset/89-aurora-dx.preset @@ -0,0 +1,3 @@ +enable docker.socket +enable podman.socket +enable ublue-os-libvirt-workarounds.service diff --git a/system_files/dx/usr/lib/systemd/user-preset/89-aurora-dx.preset b/system_files/dx/usr/lib/systemd/user-preset/89-aurora-dx.preset new file mode 100644 index 00000000..5da7a561 --- /dev/null +++ b/system_files/dx/usr/lib/systemd/user-preset/89-aurora-dx.preset @@ -0,0 +1 @@ +enable aurora-dx-user-vscode.service diff --git a/system_files/shared/usr/lib/systemd/system-preset/89-aurora-disable-fedora-flatpaks.preset b/system_files/shared/usr/lib/systemd/system-preset/89-aurora-disable-fedora-flatpaks.preset new file mode 100644 index 00000000..7c6f3dbd --- /dev/null +++ b/system_files/shared/usr/lib/systemd/system-preset/89-aurora-disable-fedora-flatpaks.preset @@ -0,0 +1,2 @@ +disable flatpak-add-fedora-repos.service +enable flatpak-nuke-fedora.service diff --git a/system_files/shared/usr/lib/systemd/system-preset/89-aurora.preset b/system_files/shared/usr/lib/systemd/system-preset/89-aurora.preset new file mode 100644 index 00000000..e84b6fb1 --- /dev/null +++ b/system_files/shared/usr/lib/systemd/system-preset/89-aurora.preset @@ -0,0 +1,11 @@ +enable aurora-groups.service +enable brew-setup.service +enable dconf-update.service +enable flatpak-preinstall.service +enable input-remapper.service +# DO NOT REMOVE THIS +# see /usr/bin/rechunker-group-fix +enable rechunker-group-fix.service +enable tailscaled.service +enable ublue-system-setup.service +enable uupd.timer diff --git a/system_files/shared/usr/lib/systemd/user-preset/89-aurora-sunshine.preset b/system_files/shared/usr/lib/systemd/user-preset/89-aurora-sunshine.preset new file mode 100644 index 00000000..21e73806 --- /dev/null +++ b/system_files/shared/usr/lib/systemd/user-preset/89-aurora-sunshine.preset @@ -0,0 +1,2 @@ +# sunshine should be opt-in +disable app-dev.lizardbyte.app.Sunshine.service diff --git a/system_files/shared/usr/lib/systemd/user-preset/89-aurora.preset b/system_files/shared/usr/lib/systemd/user-preset/89-aurora.preset new file mode 100644 index 00000000..25f5114b --- /dev/null +++ b/system_files/shared/usr/lib/systemd/user-preset/89-aurora.preset @@ -0,0 +1,10 @@ +enable podman-auto-update.timer + +# see /usr/share/ublue-os/user-setup.hooks.d +enable ublue-user-setup.service + +# Make speech dispatcher work by default +# TODO: Revisit with F46 +# https://src.fedoraproject.org/rpms/redhat-systemd-presets/pull-request/4 +# https://bugzilla.redhat.com/show_bug.cgi?id=2284507 +enable speech-dispatcher.socket