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