#!/usr/bin/env bash
# Lists items into individual files in working directory
# PPAs (ppas)
# user-installed apt packages (debs)
# snap packages (snaps)
# LuaRocks' rocks (rocks)
# Flatpak apps (flatpaks)
list_ppas () {
for APT in `find /etc/apt/ -name \*.list`; do
grep -o "^deb http://ppa.launchpad.net/[a-z0-9\-]\+/[a-z0-9\-]\+" $APT | while read ENTRY ; do
USER=`echo $ENTRY | cut -d/ -f4`
PPA=`echo $ENTRY | cut -d/ -f5`
echo sudo apt-add-repository ppa:$USER/$PPA
done
done
}
list_debs () {
comm -23 <(apt-mark showmanual | sort -u) <(gzip -dc /var/log/installer/initial-status.gz | sed -n 's/^Package: //p' | sort -u)
}
list_ppas *> ./ppas
list_debs *> ./debs
if command -v snap; then snap list *> ./snaps; fi
if command -v luarocks; then luarocks list *> ./rocks; fi
if command -v flatpak; then flatpak list --app *> ./flatpaks; fi
Comments