59 lines
1.0 KiB
Bash
Executable File
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
|