#!/bin/sh PKG_FLATPAK="discover-backend-flatpak flatpak" #### Functions check_root() { if [ "$(id -u)" -ne 0 ]; then echo "Must be root to run $0" exit fi } choice() { local prompt="$1" local default="${2:-Y}" # Default to Y if not specified local response while true; do # Loop until valid input read -rp "$prompt [Y/n/c] " -n 1 response echo # New line after input # Use default if input is empty response=${response:-$default} case "$response" in [Yy]* ) return 0;; # Yes: return 0 [Nn]* ) return 1;; # No: return 1 [Cc]* ) return 2;; # Cancel: return 2 * ) echo "Invalid input. Please enter Y (Yes), n (No), or c (Cancel)." >&2;; esac done } #### Main check_root echo -ne "\nYou want to install support for Flatpak ($PKG_FLATPAK)? " if choice 2>/dev/null; then apk add $PKG_FLATPAK flatpak remote-add --user --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo fi