+
+# List of apps to install/update
+# Create from existing manually installed apps by doing
+# fdroidcl search -i, then manually removing
+# automatically installed/preinstalled apps
+fdroid_pkgs=(
+ at.bitfire.davdroid
+ com.fsck.k9
+ com.ichi2.anki
+ com.notecryptpro
+ com.nutomic.syncthingandroid
+ com.termux
+ de.danoeh.antennapod
+ de.marmaro.krt.ffupdater
+ # riot
+ im.vector.alpha
+ me.ccrama.redditslide
+ net.gaast.giggity
+ net.osmand.plus
+ # caldav tasks thing
+ org.dmfs.tasks
+ org.fdroid.fdroid
+ org.quantumbadger.redreader
+ org.secuso.privacyfriendlyweather
+ org.smssecure.smssecure
+ org.fedorahosted.freeotp
+ com.ghostsq.commander
+)
+fdup() {
+ local -A installed updated
+ local p
+ fdroidcl update
+ for p in $(fdroidcl search -i| grep -o "^\S\+"); do
+ installed[$p]=true
+ done
+ for p in $(fdroidcl search -u| grep -o "^\S\+"); do
+ updated[$p]=false
+ done
+ for p in ${fdroid_pkgs[@]}; do
+ ${installed[$p]:-false} || fdroidcl install $p
+ done
+ for p in ${!installed[@]}; do
+ ${updated[$p]:-true} || fdroidcl upgrade $p
+ done
+}
+