removed docker and code, added flatpaks
This commit is contained in:
parent
3a66d036dc
commit
df6bc8c3b4
7 changed files with 120 additions and 9 deletions
30
files/system/usr/share/bluefin-icons/bls-add-bluefin.sh
Executable file
30
files/system/usr/share/bluefin-icons/bls-add-bluefin.sh
Executable 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
|
||||
6
files/system/usr/share/bluefin-icons/bluefin-icons.conf
Normal file
6
files/system/usr/share/bluefin-icons/bluefin-icons.conf
Normal 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
|
||||
BIN
files/system/usr/share/bluefin-icons/bluefin.png
Normal file
BIN
files/system/usr/share/bluefin-icons/bluefin.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.2 KiB |
46
files/system/usr/share/bluefin-icons/install.sh
Executable file
46
files/system/usr/share/bluefin-icons/install.sh
Executable 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."
|
||||
Loading…
Add table
Add a link
Reference in a new issue