diff --git a/starship/.local/bin/install-starship-home b/starship/.local/bin/install-starship-home new file mode 100755 index 0000000..0497b7d --- /dev/null +++ b/starship/.local/bin/install-starship-home @@ -0,0 +1,37 @@ +#!/usr/bin/env bash + +APP=starship +VERSION=${VERSION:-v0.47.0} +DATA_DIR="${XDG_DATA_HOME}/apps/releases" +DEST_DIR="${DATA_DIR}/${APP}/${VERSION}" + +OS= +ARCH= +case $(uname -s) in + Linux*) OS=unknown-linux-gnu;; + Darwin*) OS=apple-darwin;; + *) >&2 echo "unsupported os"; return; +esac + +case $(uname -m) in + x86_64*) ARCH=x86_64;; + *) >&2 echo "unsupported architecture: $(uname -m)"; exit 1;; +esac + +URL="https://github.com/starship/starship/releases/download/${VERSION}/starship-${ARCH}-${OS}.tar.gz" +TMP_DIR= +if [[ ! -d "${DEST_DIR}" ]] ; then + TMP_DIR=$(mktemp --directory) + TAR_GZ="${TMP_DIR}/release.tar.gz" + curl --location --silent --output "${TAR_GZ}" "${URL}" + mkdir -p "${DEST_DIR}" + tar xzf "${TAR_GZ}" --directory "${DEST_DIR}" + rm -rf "${TMP_DIR}" +fi + +cd "${DATA_DIR}/${APP}" || exit +[[ -s current ]] && unlink current +ln -s "${VERSION}" current + +cd "${XDG_BIN_HOME}" || exit +[[ -L "${APP}" ]] || ln --symbolic "${DATA_DIR}/${APP}/current/${APP}" ${APP}