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
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 "$@"
|