Co-authored-by: ER <eino.rauhala@proton.me> Co-authored-by: Marco Ceppi <marco@ceppi.net> Co-authored-by: Jorge O. Castro <jorge.castro@gmail.com>
100 lines
2.7 KiB
Bash
Executable File
100 lines
2.7 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
if test -e "$HOME"/.config/ublue/firstboot-done; then
|
|
echo "Already ran"
|
|
exit 0
|
|
fi
|
|
|
|
(
|
|
echo "# Waiting for Internet connection"
|
|
until /usr/bin/ping -q -c 1 flathub.org; do sleep 1; done
|
|
echo "00"
|
|
|
|
echo "# Removing Filtered Flathub Repository"
|
|
/usr/bin/flatpak remote-delete flathub --force ||:
|
|
if [ "$?" != 0 ] ; then
|
|
zenity --error \
|
|
--text="Removing Filtered Flathub Repo Failed"
|
|
exit 1
|
|
fi
|
|
echo "3"
|
|
|
|
echo "# Enabling Flathub Repository"
|
|
/usr/bin/flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
|
if [ "$?" != 0 ] ; then
|
|
zenity --error \
|
|
--text="Adding Flathub Repo Failed"
|
|
exit 1
|
|
fi
|
|
echo "5"
|
|
|
|
echo "# Replacing Fedora Flatpaks with Flathub Ones (this may take a while)"
|
|
/usr/bin/flatpak install --user --noninteractive org.gnome.Platform//43
|
|
/usr/bin/flatpak install --user --noninteractive --reinstall flathub $(flatpak list --app-runtime=org.fedoraproject.Platform --columns=application | tail -n +1 )
|
|
if [ "$?" != 0 ] ; then
|
|
zenity --error \
|
|
--text="Replacing Fedora Flatpaks Failed"
|
|
exit 1
|
|
fi
|
|
echo "20"
|
|
|
|
echo "Removing all preinstalled Flatpaks"
|
|
/usr/bin/flatpak remove --system --noninteractive --all ||:
|
|
if [ "$?" != 0 ] ; then
|
|
zenity --error \
|
|
--text="Removing all preinstalled flatpaks failed"
|
|
exit 1
|
|
fi
|
|
|
|
echo "# Removing Fedora Flatpak Repository"
|
|
/usr/bin/flatpak remote-delete fedora --force ||:
|
|
if [ "$?" != 0 ] ; then
|
|
zenity --error \
|
|
--text="Removing Fedora Flatpak Repo Failed"
|
|
exit 1
|
|
fi
|
|
echo "25"
|
|
|
|
echo "# Installing flatpaks from recipe"
|
|
flatpaks=$(yq '.flatpaks[]' < /etc/ublue-recipe.yml)
|
|
flatpaks_count=$(yq '.flatpaks[]' < /etc/ublue-recipe.yml | wc -l)
|
|
i=0
|
|
for pkg in $flatpaks; do
|
|
echo "# Installing ${pkg}"
|
|
/usr/bin/flatpak install --user --noninteractive flathub $pkg
|
|
if [ "$?" != 0 ] ; then
|
|
zenity --error \
|
|
--text="Installing ${pkg} Failed"
|
|
exit 1
|
|
fi
|
|
i=$((i+1))
|
|
# Automatically calculates evenly spaced progess using bc, cuts everything after decimal point.
|
|
echo "${i}/${flatpaks_count} * (95-30) + 30" | bc -l | cut -d "." -f1
|
|
done
|
|
|
|
|
|
|
|
echo "Enabling Flatpak auto update"
|
|
/usr/bin/systemctl --user enable --now flatpak-user-update.timer
|
|
if [ "$?" != 0 ] ; then
|
|
zenity --error \
|
|
--text="Setting Flatpak Autoupdate Failed"
|
|
exit 1
|
|
fi
|
|
echo "100"
|
|
|
|
|
|
echo "# Reticulating Final Splines"
|
|
mkdir -p "$HOME"/.config/ublue/
|
|
touch "$HOME"/.config/ublue/firstboot-done
|
|
cp -n /etc/justfile "$HOME"/.justfile
|
|
|
|
) |
|
|
|
|
zenity --progress --title="uBlue Desktop Firstboot" --percentage=0 --auto-close --no-cancel --width=300
|
|
|
|
if [ "$?" != 0 ] ; then
|
|
zenity --error \
|
|
--text="Firstboot Configuration Error"
|
|
fi
|