45 lines · 759 B · executable
#!/usr/bin/env bash

thisDir="$( dirname $( readlink -f $0 ))"
baseDir="$( dirname $thisDir )"
packagesFile="$baseDir/void-packages.txt"

get_installed() {
    xbps-query -m \
        | xargs -n1 xbps-uhelper getpkgname \
        | sed -r 's/(slack-desktop|discord)//' \
        | grep "\S"
}

save() {
    printf '%s\n' "$( get_installed )" > "$packagesFile"
}

ensure() {
    if [[ ! -f $packagesFile ]]; then
        printf 'Error: package file %s not found\n' "$packagesFile"
        exit 1
    fi
    cat "$packagesFile" | fmt | sudo xbps-install
}

install() {
    sudo xbps-install $1
    if [[ $? == 0 ]]; then
        save
    fi
}

remove() {
    xbps-remove $1
    if [[ $? == 0 ]]; then
        save
    fi
}

uninstall() {