diff --git a/.config/yadm/bootstrap.d/install-dasel b/.config/yadm/bootstrap.d/install-dasel new file mode 100755 index 0000000..b39d3ee --- /dev/null +++ b/.config/yadm/bootstrap.d/install-dasel @@ -0,0 +1,38 @@ +#!/bin/bash + +set -eu + +source "${BOOTSTRAP_LIB}/helpers" + +VERSION="1.26.0" +INSTALL_DIR="${HOME}/.local/bin" +INSTALLED_VERSION="" + +if [[ -x "$(command -v dasel)" ]]; then + INSTALLED_VERSION="$(dasel --version | grep -o '[0-9]\+\.[0-9]\+\.[0-9]\+')" +fi + +if [[ "$VERSION" == "$INSTALLED_VERSION" ]]; then + echo "dasel version ${VERSION} already installed." + exit 0 +fi + +echo "Installing dasel version ${VERSION}..." + +URL="https://github.com/TomWright/dasel/releases/download/v${VERSION}/dasel_linux_amd64" + +echo "Downloading from ${URL}..." +TARGET="$(download "$URL")" + +if [[ -f "${INSTALL_DIR}/dasel" ]]; then + echo "Removing old dasel command..." + rm -f "${INSTALL_DIR}/dasel" +fi + +echo "Installing dasel command to ${INSTALL_DIR}..." +mkdir -p "${INSTALL_DIR}" +cp "${TARGET}" "${INSTALL_DIR}/dasel" +chmod +x "${INSTALL_DIR}/dasel" + +echo "Removing ${TARGET}..." +rm -f "${TARGET}"