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
This commit is contained in:
renner 2026-09-19 19:44:08 +00:00 committed by GitHub
parent aeff1872ef
commit 1a4be9911d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
10 changed files with 41 additions and 56 deletions

View file

@ -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::"

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -0,0 +1,3 @@
enable docker.socket
enable podman.socket
enable ublue-os-libvirt-workarounds.service

View file

@ -0,0 +1 @@
enable aurora-dx-user-vscode.service

View file

@ -0,0 +1,2 @@
disable flatpak-add-fedora-repos.service
enable flatpak-nuke-fedora.service

View file

@ -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

View file

@ -0,0 +1,2 @@
# sunshine should be opt-in
disable app-dev.lizardbyte.app.Sunshine.service

View file

@ -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