removed docker and code, added flatpaks

This commit is contained in:
randogoth 2025-11-22 14:31:02 +02:00
parent 3a66d036dc
commit df6bc8c3b4
7 changed files with 120 additions and 9 deletions

View file

@ -0,0 +1,14 @@
[Unit]
Description=Ensure Bluefin GRUB icon is installed when a GRUB theme exists
ConditionPathExists=/boot/grub2/user.cfg
After=local-fs.target
[Service]
Type=oneshot
ExecStart=/usr/share/bluefin-icons/install.sh
SuccessExitStatus=0 3
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.target

View file

@ -0,0 +1 @@
../bluefin-icons-ensure.service

View file

@ -0,0 +1,30 @@
#!/usr/bin/env bash
set -euo pipefail
shopt -s nullglob
entries_dir="/boot/loader/entries"
for f in "$entries_dir"/ostree-*.conf "$entries_dir"/*-ostree-*.conf; do
[ -f "$f" ] || continue
# Already correct? skip
if grep -qxE 'grub_class[[:space:]]+bluefin' "$f"; then
continue
fi
tmp="$(mktemp)"
if grep -qE '^grub_class[[:space:]]+' "$f"; then
sed -E 's/^grub_class[[:space:]].*/grub_class bluefin/' "$f" >"$tmp"
else
awk '1; /^title[[:space:]]/{print "grub_class bluefin";}' "$f" >"$tmp"
fi
if ! cmp -s "$f" "$tmp"; then
chmod --reference="$f" "$tmp"
chown --reference="$f" "$tmp"
command -v chcon >/dev/null 2>&1 && chcon --reference="$f" "$tmp" 2>/dev/null || true
mv -f "$tmp" "$f"
else
rm -f "$tmp"
fi
done

View file

@ -0,0 +1,6 @@
[Service]
ExecStartPost=
ExecStopPost=/usr/bin/bash --noprofile --norc -lc '/usr/local/sbin/bls-add-bluefin.sh'
StandardOutput=journal
StandardError=journal
Environment=STARSHIP_LOG=off

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

View file

@ -0,0 +1,46 @@
#!/usr/bin/env bash
set -euo pipefail
# Ensure we have root privileges before touching system paths.
if [[ "${EUID:-$(id -u)}" -ne 0 ]]; then
exec sudo -E "$0" "$@"
fi
script_dir="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd -P)"
# Resolve the active GRUB theme's icons directory from user.cfg.
find_icons_dir() {
local theme_line theme_dir
theme_line="$(awk -F= '/set[[:space:]]+theme=/ {print $2; exit}' /boot/grub2/user.cfg 2>/dev/null | tr -d '"' || true)"
[[ -n "$theme_line" ]] || return 1
theme_dir="${theme_line%/*}"
echo "${theme_dir}/icons"
}
icons_dir="$(find_icons_dir || true)"
# Abort (soft) if we cannot locate the theme icons directory.
if [[ -z "$icons_dir" || ! -d "$icons_dir" ]]; then
echo "Could not find GRUB theme icons directory. Ensure /boot/grub2/user.cfg contains a theme= entry. Skipping." >&2
exit 3
fi
# Drop the Bluefin icon into the active theme.
echo "Copying Bluefin icon to ${icons_dir}"
install -m 644 -D "${script_dir}/bluefin.png" "${icons_dir}/bluefin.png"
# Install the helper that ensures grub_class bluefin exists.
echo "Installing helper script to /usr/local/sbin"
install -m 755 "${script_dir}/bls-add-bluefin.sh" /usr/local/sbin/bls-add-bluefin.sh
# Add the rpm-ostree hook and reload systemd.
echo "Installing systemd drop-in for rpm-ostree hook"
install -m 644 -D "${script_dir}/bluefin-icons.conf" /etc/systemd/system/ostree-finalize-staged.service.d/bluefin-icons.conf
systemctl daemon-reload
# Immediately apply the Bluefin class to existing BLS entries.
echo "Applying grub_class bluefin to existing BLS entries"
/usr/local/sbin/bls-add-bluefin.sh
# Report completion.
echo "Done. New deployments will keep the Bluefin GRUB icon."

View file

@ -24,21 +24,35 @@ modules:
- waydroid - waydroid
remove: remove:
packages: packages:
- android-tools
- cockpit-bridge
- cockpit-machines
- cockpit-networkmanager
- cockpit-ostree
- cockpit-podman
- cockpit-selinux
- cockpit-storaged
- cockpit-system
- code - code
- docker-ce - docker-ce
- docker-ce-cli - docker-ce-cli
- docker-ce-rootless-extras - docker-ce-rootless-extras
- docker-compose-plugin - docker-compose-plugin
- docker-model-plugin - docker-model-plugin
- containerd
- moby-engine
# - type: default-flatpaks - type: default-flatpaks
# configurations: configurations:
# - notify: true # Send notification after install/uninstall is finished (true/false) - notify: true # Send notification after install/uninstall is finished (true/false)
# scope: system scope: system
# # If no repo information is specified, Flathub will be used by default # If no repo information is specified, Flathub will be used by default
# install: # system flatpaks we want all users to have and not remove install: # system flatpaks we want all users to have and not remove
# - org.mozilla.firefox - net.waterfox.waterfox
# - org.gnome.Loupe - com.vscodium.codium
# - scope: user # Also add Flathub user repo, but no user packages - org.telegram.desktop
remove: # replace default Firefox with Waterfox
- org.mozilla.firefox
- scope: user # Also add Flathub user repo, but no user packages
- type: signing # this sets up the proper policy & signing files for signed images to work fully - type: signing # this sets up the proper policy & signing files for signed images to work fully