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
957 B
Bash

#!/usr/bin/env bash
set -euo pipefail
source "${XDG_DATA_HOME}/buddy-up/includes/utils.sh"
main () (
APP=nushell
VERSION=${VERSION:-0.100.0}
DEST=${XDG_DATA_HOME}/apps/releases/${APP}
URL=https://github.com/nushell/nushell/releases/download/${VERSION}/nu-${VERSION}-$(uname -m)-$(get_os).tar.gz
PLUGIN_DIR=${XDG_CONFIG_HOME}/nushell/plugins
extract_tarball "${URL}" "${DEST}/${VERSION}" "--strip-component 1"
set_current_link "${DEST}" "${VERSION}"
set_link "${XDG_BIN_HOME}/nu" "${DEST}" nu
mkdir_if_missing "${PLUGIN_DIR}"
find "${DEST}" -type f -executable -exec basename {} \; | grep plugin | while read -r plugin ; do
set_link "${PLUGIN_DIR}/${plugin}" "${DEST}" "${plugin}"
done
)
get_os () (
case $(uname -s) in
Linux*) echo unknown-linux-gnu;;
Darwin*) echo apple-darwin;;
*) >&2 echo "unsupported os: $(uname -s)"; exit 1;;
esac
)
main "$@"