aboutsummaryrefslogtreecommitdiffstats
path: root/direnv
diff options
context:
space:
mode:
authorjason2020-04-20 20:01:47 -0600
committerjason2020-04-20 20:01:47 -0600
commit183c4c6e54df0b0611e0af63ba2b5e4d8b3e1fbe (patch)
tree565be4f2d783b69bcf46379710d43a79ad12661d /direnv
parentc1a3f4ce19aca64e85a34e11a73fedbfbb0bc426 (diff)
downloaddotfiles-183c4c6e54df0b0611e0af63ba2b5e4d8b3e1fbe.tar.gz
dotfiles-183c4c6e54df0b0611e0af63ba2b5e4d8b3e1fbe.zip
add direnv config for python venv
Diffstat (limited to 'direnv')
-rw-r--r--direnv/.config/direnv/direnvrc25
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 @@
1realpath() {
2 [[ $1 = /* ]] && echo "$1" || echo "$PWD/${1#./}"
3}
4layout_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}