#! /usr/bin/env bash

# set directory variables
export BAG_WORK_DIR=$(pwd)
export BAG_FRAMEWORK=${BAG_WORK_DIR}/BAG_framework
export BAG_TECH_CONFIG_DIR=${BAG_WORK_DIR}/skywater130
export BAG_TEMP_DIR=${BAG_WORK_DIR}/BAGTMP
export IPYTHONDIR=${BAG_WORK_DIR}/.ipython
# disable hash-salting. We need stable hashing across sessions for caching purposes.
export PYTHONHASHSEED=0

# set program locations
export BAG_PYTHON=${BAG_TOOLS_ROOT}/bin/python3
export BAG_JUPYTER=${BAG_TOOLS_ROOT}/bin/jupyter-notebook

# set location of BAG configuration file
export BAG_CONFIG_PATH=${BAG_WORK_DIR}/bag_config.yaml

# change pycharm config file location
export PYCHARM_PROPERTIES=/scratch/projects/${USER}/pycharm_setup/idea.properties

# setup pybag
export PYBAG_PYTHON=${BAG_PYTHON}
