graphql-engine/.envrc
Samir Talwar 0fa76e8abb direnv: Default to the Azure SQL Edge image on macOS.
Sometimes you just want to run `docker compose up` without faffing about with `make`.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6499
GitOrigin-RevId: 1a88dae933e314ea8204c6c22a831b38808776c1
2022-10-24 15:54:41 +00:00

60 lines
1.7 KiB
Bash

#!/usr/bin/env bash
# This file provides some tooling on an opt-in basis via `direnv`
# (https://direnv.net/)
# We cannot use the proper MSSQL Server image on arm64, as it's not available.
# Instead, we use `mcr.microsoft.com/azure-sql-edge`.
if [[ "$(uname -m)" == 'arm64' ]]; then
export MSSQL_IMAGE='mcr.microsoft.com/azure-sql-edge'
fi
# To use the functionality here, create an `.envrc.local` file in this folder
# that runs the functions you need.
# There is an example in `.envrc.local.example` you can start with
# `use nvm`
# if `nvm` is installed, use it to select the right node.js version
# as defined in the `.nvmrc` file
use_nvm() {
local NVM_DIR
if [[ -z "${XDG_CONFIG_HOME:-}" ]]; then
NVM_DIR="${HOME}/.nvm"
else
NVM_DIR="${XDG_CONFIG_HOME}/nvm"
fi
if ! [[ -d "$NVM_DIR" ]]; then
echo >&2 "ERROR: nvm not found. Could not set the node.js version."
return 1
fi
# shellcheck source=/dev/null
[[ -s "$NVM_DIR/nvm.sh" ]] && \. "$NVM_DIR/nvm.sh" # This loads nvm
nvm use
}
# `use ghcup`
# if `ghcup` is available, use it to install and set the GHC version
# as defined in the `.ghcversion` file
use_ghcup() {
local GHC_VERSION GHCUP_PATH
GHC_VERSION="$(<.ghcversion)"
GHCUP_PATH="$(which ghcup)"
if [[ -z "$GHC_VERSION" ]]; then
echo >&2 'ERROR: Required GHC version not found.'
return 1
fi
if [[ -z "$GHCUP_PATH" ]]; then
echo 'ERROR: ghcup not found. Could not set the GHC version.'
return 1
fi
if ! ghcup whereis ghc "$GHC_VERSION" &> /dev/null; then
ghcup install ghc "$GHC_VERSION"
fi
ghcup set ghc "$GHC_VERSION"
}
# this line sources your `.envrc.local` file
source_env_if_exists .envrc.local