80 lines
1.8 KiB
Bash
Executable file
80 lines
1.8 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
restoreDir="/etc/restore"
|
|
|
|
hook_before() {
|
|
mkdir -p "$restoreDir" || exit 1
|
|
pushd "$restoreDir" || exit 2
|
|
|
|
which flatpak || exit 0
|
|
|
|
flatpak list --columns=application --app > flatpaks.lst
|
|
|
|
cat > restore-flatpak.sh <<EOF
|
|
#!/bin/bash
|
|
|
|
if [[ ! -f "flatpaks.lst" ]]; then
|
|
echo "This needs to be run inside the restore directory."
|
|
exit 1
|
|
fi
|
|
|
|
# Removal uninstalled packages:
|
|
echo
|
|
echo "=============================="
|
|
echo "INSTALL FLATPAK PACKAGES"
|
|
echo "=============================="
|
|
echo
|
|
echo "The following flatpak packages are listed to be installed:"
|
|
cat flatpaks.lst
|
|
echo
|
|
read -p "Do you want to proceed? [Y/n] " -n 1 -sr promptFlatpak
|
|
if [[ "\$promptFlatpak" =~ ^[Yy]$ ]]; then
|
|
# Do the thing
|
|
echo "Yes"
|
|
|
|
read -p "Do you want to omit any packages or cancel? [N, y, c] " -n 1 -sr promptFlatpakVerify
|
|
if [[ "\$promptFlatpakVerify" =~ ^[Yy]$ ]]; then
|
|
echo
|
|
read -p "What do you want to omit, seperated by spaces? " -r promptFlatpakOmit
|
|
omitfp="\$(echo "\$promptFlatpakOmit" | tr ' ' '|')"
|
|
echo
|
|
elif [[ "\$promptFlatpakVerify" =~ ^[Cc]$ ]]; then
|
|
echo -e "Cancelled\n"
|
|
omitfp="CANCEL"
|
|
else
|
|
omitfp=""
|
|
echo
|
|
fi
|
|
|
|
if [[ "\$omitfp" != "CANCEL" ]]; then
|
|
egrep -v "(\$omitfp)" flatpaks.lst | xargs flatpak install -y
|
|
fi
|
|
else
|
|
echo -e "Cancelled\n"
|
|
fi
|
|
EOF
|
|
#which flatpak || exit 0
|
|
#xargs flatpak install -y < flatpaks.lst
|
|
#EOF
|
|
chmod ug+rx restore-flatpak.sh
|
|
popd || exit 2
|
|
}
|
|
|
|
hook_after() {
|
|
:
|
|
}
|
|
|
|
hook_fail() {
|
|
:
|
|
}
|
|
|
|
hook_final() {
|
|
:
|
|
}
|
|
|
|
case "$1" in
|
|
before) hook_before || exit $?;;
|
|
after) hook_after || exit $?;;
|
|
fail) hook_fail || exit $?;;
|
|
finally) hook_final || exit $?;;
|
|
esac
|