You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

33 lines
711 B
Plaintext

#!/usr/bin/env bash
set -euo pipefail
# shellcheck disable=SC1091
source "${XDG_DATA_HOME}/buddy-up/includes/utils.sh"
APP=shfmt
VERSION=${VERSION:-3.6.0}
DEST=${XDG_DATA_HOME}/apps/releases/${APP}
main() (
URL=https://github.com/mvdan/sh/releases/download/v${VERSION}/shfmt_v${VERSION}_$(get_os)_$(get_arch)
mkdir_if_missing "${DEST}/${VERSION}"
curl --silent --location --output "${DEST}/${VERSION}/${APP}" "${URL}"
chmod 755 "${DEST}/${VERSION}/${APP}"
set_current_link "${DEST}" "${VERSION}"
set_link "${XDG_BIN_HOME}/${APP}" "${DEST}" "${APP}"
)
get_arch() (
case $(uname -m) in
x86_64*) echo amd64 ;;
*)
echo >&2 "unsupported architecture: $(uname -m)"
exit 1
;;
esac
)
main "${@}"