custom-nixpkgs/update.sh

59 lines
1.0 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euxo pipefail
declare -a ALL_PACKAGES=(
adb-sync
adbtuifm
adx
bundletool-bin
clipboard-substitutor
gdrive
gitice
hcctl
healthchecks-monitor
hyperlink
katbin
linkleaner
monocraft-nerdfonts
patreon-dl
pidcat
rucksack
twt
when
)
declare -A VERSION_REGEX=(
["hcctl"]="hcctl-v(.*)"
["healthchecks-monitor"]="healthchecks-monitor-v(.*)"
)
PKG="${1-}"
VERSION="${2-}"
NO_BUILD="${NO_BUILD-}"
declare -a PACKAGES_TO_BUILD=()
declare -a BASE_PARAMS=("--commit")
if [ -z "${NO_BUILD}" ]; then
BASE_PARAMS+=("--build")
fi
if [ -z "${PKG}" ]; then
PACKAGES_TO_BUILD+=("${ALL_PACKAGES[@]}")
else
PACKAGES_TO_BUILD+=("${PKG}")
fi
for PACKAGE in "${PACKAGES_TO_BUILD[@]}"; do
declare -a PARAMS=("${BASE_PARAMS[@]}")
if [[ -v VERSION_REGEX["${PACKAGE}"] ]]; then
PARAMS+=("--version-regex")
PARAMS+=("${VERSION_REGEX["${PACKAGE}"]}")
fi
if [ -n "${VERSION}" ]; then
PARAMS+=("--version")
PARAMS+=("${VERSION}")
fi
PARAMS+=("${PACKAGE}")
nix-update "${PARAMS[@]}"
done