diff --git a/base/.local/share/buddy-up/includes/utils.sh b/base/.local/share/buddy-up/includes/utils.sh index b21b3d0..82ff53d 100644 --- a/base/.local/share/buddy-up/includes/utils.sh +++ b/base/.local/share/buddy-up/includes/utils.sh @@ -86,7 +86,7 @@ mkdir_if_missing () ( extract_zip () ( url=${1} dest=${2} - args=${3} + args=${3:-} sudo=${4:-} if [ -d "${dest}" ]; then return diff --git a/deno/.config/profile/env.d/deno.env b/deno/.config/profile/env.d/deno.env deleted file mode 100644 index 359e1d3..0000000 --- a/deno/.config/profile/env.d/deno.env +++ /dev/null @@ -1 +0,0 @@ -PATH="${PATH}:${HOME}/.deno/bin" diff --git a/deno/.local/bin/install-deno b/deno/.local/bin/install-deno new file mode 100755 index 0000000..5cb3294 --- /dev/null +++ b/deno/.local/bin/install-deno @@ -0,0 +1,25 @@ +#!/usr/bin/env bash + +set -euo pipefail + +# shellcheck disable=SC1090 +source "${XDG_DATA_HOME}/buddy-up/includes/utils.sh" + +function get_os () ( + case $(uname -sm) in + "Darwin x86_64") echo x86_64-apple-darwin ;; + "Darwin arm64") echo aarch64-apple-darwin ;; + "Linux x86_64") echo unknown-linux-gnu ;; + *) >&2 echo "unsupported os: $(uname -s)"; exit 1;; + esac +) + + +APP=deno +VERSION=${VERSION:-1.24.2} +DEST=${XDG_DATA_HOME}/apps/releases/${APP} +URL=https://github.com/denoland/deno/releases/download/v${VERSION}/deno-$(uname -m)-$(get_os).zip + +extract_zip "${URL}" "${DEST}/${VERSION}" +set_current_link "${DEST}" "${VERSION}" +set_link "${XDG_BIN_HOME}/${APP}" "${DEST}" "${APP}"