diff options
| -rw-r--r-- | direnv/.config/direnv/direnvrc | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/direnv/.config/direnv/direnvrc b/direnv/.config/direnv/direnvrc new file mode 100644 index 0000000..12c46e0 --- /dev/null +++ b/direnv/.config/direnv/direnvrc | |||
| @@ -0,0 +1,25 @@ | |||
| 1 | realpath() { | ||
| 2 | [[ $1 = /* ]] && echo "$1" || echo "$PWD/${1#./}" | ||
| 3 | } | ||
| 4 | layout_python-venv() { | ||
| 5 | local python=${1:-python3} | ||
| 6 | [[ $# -gt 0 ]] && shift | ||
| 7 | unset PYTHONHOME | ||
| 8 | if [[ -n $VIRTUAL_ENV ]]; then | ||
| 9 | VIRTUAL_ENV=$(realpath "${VIRTUAL_ENV}") | ||
| 10 | else | ||
| 11 | local python_version | ||
| 12 | python_version=$("$python" -c "import platform; print(platform.python_version())") | ||
| 13 | if [[ -z $python_version ]]; then | ||
| 14 | log_error "Could not detect Python version" | ||
| 15 | return 1 | ||
| 16 | fi | ||
| 17 | VIRTUAL_ENV=$PWD/.direnv/python-venv-$python_version | ||
| 18 | fi | ||
| 19 | export VIRTUAL_ENV | ||
| 20 | if [[ ! -d $VIRTUAL_ENV ]]; then | ||
| 21 | log_status "no venv found; creating $VIRTUAL_ENV" | ||
| 22 | "$python" -m venv "$VIRTUAL_ENV" | ||
| 23 | fi | ||
| 24 | PATH_add "$VIRTUAL_ENV/bin" | ||
| 25 | } | ||