From bf9def443898a1a45c3428013aad0bd79deec24e Mon Sep 17 00:00:00 2001 From: ER Date: Sun, 26 Feb 2023 13:43:58 +0200 Subject: [PATCH] feat: install flatpaks from recipe on firstboot --- recipe.yml | 9 ++++++ ublue-firstboot | 85 ++++++++++--------------------------------------- 2 files changed, 25 insertions(+), 69 deletions(-) diff --git a/recipe.yml b/recipe.yml index 88a63b6fa1..e7f6ef2b9d 100644 --- a/recipe.yml +++ b/recipe.yml @@ -2,3 +2,12 @@ rpm_packages: - distrobox - gnome-tweaks - just +flatpaks: + - org.mozilla.firefox + - org.mozilla.Thunderbird + - com.mattjakeman.ExtensionManager + - org.libreoffice.LibreOffice + - org.gnome.DejaDup + - org.gustavoperedo.FontDownloader + - com.github.tchx84.Flatseal + - io.github.celluloid_player.Celluloid diff --git a/ublue-firstboot b/ublue-firstboot index b4f3b15507..191f0df198 100755 --- a/ublue-firstboot +++ b/ublue-firstboot @@ -55,77 +55,24 @@ if [ "$?" != 0 ] ; then fi echo "25" -echo "# Installing Firefox" -/usr/bin/flatpak install --user --noninteractive flathub org.mozilla.firefox -if [ "$?" != 0 ] ; then - zenity --error \ - --text="Installing Firefox Failed" - exit 1 -fi -echo "30" +echo "# Installing flatpaks from recipe" +flatpaks=$(dasel -f /etc/ublue-recipe.yml -r yaml -w json -s 'flatpaks') +flatpaks_count=$(echo $flatpaks | dasel -r json -s 'len()') + +for i in $(seq 0 $(($flatpaks_count-1))); do + pkg=$(echo $flatpaks | dasel -r json "[${i}]" | tr -d '"') + echo "# Installing ${pkg}" + /usr/bin/flatpak install --user --noninteractive flathub $pkg + if [ "$?" != 0 ] ; then + zenity --error \ + --text="Installing ${pkg} Failed" + exit 1 + fi + # 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 "# Installing Thunderbird" -/usr/bin/flatpak install --user --noninteractive flathub org.mozilla.Thunderbird -if [ "$?" != 0 ] ; then - zenity --error \ - --text="Installing Thunderbird Failed" - exit 1 -fi -echo "40" -echo "# Installing Extension Manager" -/usr/bin/flatpak install --user --noninteractive flathub com.mattjakeman.ExtensionManager -if [ "$?" != 0 ] ; then - zenity --error \ - --text="Installing Extension Manager Failed" - exit 1 -fi -echo "50" - -echo "# Installing LibreOffice" -/usr/bin/flatpak install --user --noninteractive flathub org.libreoffice.LibreOffice -if [ "$?" != 0 ] ; then - zenity --error \ - --text="Installing LibreOffice Failed" - exit 1 -fi -echo "70" - -echo "# Installing DejaDup Backup" -/usr/bin/flatpak install --user --noninteractive flathub org.gnome.DejaDup -if [ "$?" != 0 ] ; then - zenity --error \ - --text="Installing DejaDup Failed" - exit 1 -fi -echo "80" - -echo "# Installing Font Downloader" -/usr/bin/flatpak install --user --noninteractive flathub org.gustavoperedo.FontDownloader -if [ "$?" != 0 ] ; then - zenity --error \ - --text="Installing FontDownloader Failed" - exit 1 -fi -echo "85" - -echo "# Installing Flatseal" -/usr/bin/flatpak install --user --noninteractive flathub com.github.tchx84.Flatseal -if [ "$?" != 0 ] ; then - zenity --error \ - --text="Installing Flatseal Failed" - exit 1 -fi -echo "90" - -echo "# Installing Celluloid Media Player" -/usr/bin/flatpak install --user --noninteractive flathub io.github.celluloid_player.Celluloid -if [ "$?" != 0 ] ; then - zenity --error \ - --text="Installing Celluloid Failed" - exit 1 -fi -echo "95" echo "Enabling Flatpak auto update" /usr/bin/systemctl --user enable --now flatpak-user-update.timer