···11+# Hermit environment
22+33+This is a [Hermit](https://github.com/cashapp/hermit) bin directory.
44+55+The symlinks in this directory are managed by Hermit and will automatically
66+download and install Hermit itself as well as packages. These packages are
77+local to this environment.
+21
bin/activate-hermit
···11+#!/bin/bash
22+# This file must be used with "source bin/activate-hermit" from bash or zsh.
33+# You cannot run it directly
44+#
55+# THIS FILE IS GENERATED; DO NOT MODIFY
66+77+if [ "${BASH_SOURCE-}" = "$0" ]; then
88+ echo "You must source this script: \$ source $0" >&2
99+ exit 33
1010+fi
1111+1212+BIN_DIR="$(dirname "${BASH_SOURCE[0]:-${(%):-%x}}")"
1313+if "${BIN_DIR}/hermit" noop > /dev/null; then
1414+ eval "$("${BIN_DIR}/hermit" activate "${BIN_DIR}/..")"
1515+1616+ if [ -n "${BASH-}" ] || [ -n "${ZSH_VERSION-}" ]; then
1717+ hash -r 2>/dev/null
1818+ fi
1919+2020+ echo "Hermit environment $("${HERMIT_ENV}"/bin/hermit env HERMIT_ENV) activated"
2121+fi
+43
bin/hermit
···11+#!/bin/bash
22+#
33+# THIS FILE IS GENERATED; DO NOT MODIFY
44+55+set -eo pipefail
66+77+export HERMIT_USER_HOME=~
88+99+if [ -z "${HERMIT_STATE_DIR}" ]; then
1010+ case "$(uname -s)" in
1111+ Darwin)
1212+ export HERMIT_STATE_DIR="${HERMIT_USER_HOME}/Library/Caches/hermit"
1313+ ;;
1414+ Linux)
1515+ export HERMIT_STATE_DIR="${XDG_CACHE_HOME:-${HERMIT_USER_HOME}/.cache}/hermit"
1616+ ;;
1717+ esac
1818+fi
1919+2020+export HERMIT_DIST_URL="${HERMIT_DIST_URL:-https://github.com/cashapp/hermit/releases/download/stable}"
2121+HERMIT_CHANNEL="$(basename "${HERMIT_DIST_URL}")"
2222+export HERMIT_CHANNEL
2323+export HERMIT_EXE=${HERMIT_EXE:-${HERMIT_STATE_DIR}/pkg/hermit@${HERMIT_CHANNEL}/hermit}
2424+2525+if [ ! -x "${HERMIT_EXE}" ]; then
2626+ echo "Bootstrapping ${HERMIT_EXE} from ${HERMIT_DIST_URL}" 1>&2
2727+ INSTALL_SCRIPT="$(mktemp)"
2828+ # This value must match that of the install script
2929+ INSTALL_SCRIPT_SHA256="180e997dd837f839a3072a5e2f558619b6d12555cd5452d3ab19d87720704e38"
3030+ if [ "${INSTALL_SCRIPT_SHA256}" = "BYPASS" ]; then
3131+ curl -fsSL "${HERMIT_DIST_URL}/install.sh" -o "${INSTALL_SCRIPT}"
3232+ else
3333+ # Install script is versioned by its sha256sum value
3434+ curl -fsSL "${HERMIT_DIST_URL}/install-${INSTALL_SCRIPT_SHA256}.sh" -o "${INSTALL_SCRIPT}"
3535+ # Verify install script's sha256sum
3636+ openssl dgst -sha256 "${INSTALL_SCRIPT}" | \
3737+ awk -v EXPECTED="$INSTALL_SCRIPT_SHA256" \
3838+ '$2!=EXPECTED {print "Install script sha256 " $2 " does not match " EXPECTED; exit 1}'
3939+ fi
4040+ /bin/bash "${INSTALL_SCRIPT}" 1>&2
4141+fi
4242+4343+exec "${HERMIT_EXE}" --level=fatal exec "$0" -- "$@"