#!/usr/bin/env bash # See https://github.com/cachix/devenv/blob/main/templates/flake-parts/.envrc if ! has nix_direnv_version || ! nix_direnv_version 3.1.0; then source_url "https://raw.githubusercontent.com/nix-community/nix-direnv/3.1.0/direnvrc" "sha256-yMJ2OVMzrFaDPn7q8nCBZFRYpL/f0RcHzhmw/i6btJM=" fi export DEVENV_IN_DIRENV_SHELL=true watch_file flake.nix watch_file flake.lock mkdir -p "$PWD/.devenv" DEVENV_ROOT_FILE="$PWD/.devenv/root" printf %s "$PWD" >"$DEVENV_ROOT_FILE" if ! use flake . --override-input devenv-root "file+file://$DEVENV_ROOT_FILE" --accept-flake-config; then echo "devenv could not be built. The devenv environment was not loaded. Make the necessary changes to devenv.nix and hit enter to try again." >&2 fi # Include .env file if it exists locally. Use the .env file to load env vars that you don't want to commit to git if [ -f .env ] then set -o allexport source .env set +o allexport fi # Add your env vars here # # E.g. export AWS_ACCESS_KEY_ID="XXXXX" # SMTP config for local development. export SMTP_HOST="127.0.0.1" # On some computers may need `127.0.1.1` instead. export SMTP_PORT="1025" export SMTP_ENCRYPTION="Unencrypted" # GHCi security: prevent "WARNING: . is writable by someone else, IGNORING!" # which causes .ghci (and applicationGhciConfig) to be skipped, breaking # the IHP source-path setup (-ibuild, -iConfig, etc.). chmod go-w . # IHP_LIB: path to the IHP lib/IHP directory containing applicationGhciConfig. # Required for manual GHCi invocation (devenv up / RunDevServer sets this # internally). Derived from the devenv profile's RunDevServer binary. if [ -f "$PWD/.devenv/profile/bin/RunDevServer" ]; then _ihp_base=$(strings "$PWD/.devenv/profile/bin/RunDevServer" 2>/dev/null \ | grep -m1 'ihp-ide.*data.*/lib$') if [ -n "$_ihp_base" ]; then export IHP_LIB="$_ihp_base/IHP" fi unset _ihp_base fi