]> gitweb.fluxo.info Git - rhatto/dotfiles/profile.git/commitdiff
Feat: pyenv support for bash and zsh
authorSilvio Rhatto <rhatto@riseup.net>
Thu, 7 Jul 2022 15:43:35 +0000 (12:43 -0300)
committerSilvio Rhatto <rhatto@riseup.net>
Thu, 7 Jul 2022 15:43:35 +0000 (12:43 -0300)
profile.dot.link

index cd4b022c34812c3bedba6f33761943b07c6cc06f..e6de5a7cae3dafdd5ab461de1cff19c508bcd96a 100644 (file)
@@ -130,6 +130,43 @@ fi
 export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
 [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
 
+# PyEnv
+if [ -d "$HOME/.pyenv" ]; then
+  export PYENV_ROOT="$HOME/.pyenv"
+  command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"
+
+  PATH="$(bash --norc -ec 'IFS=:; paths=($PATH); for i in ${!paths[@]}; do if [[ ${paths[i]} == "'$HOME/.pyenv/shims'" ]]; then unset '\''paths[i]'\''; fi; done; echo "${paths[*]}"')"
+  PATH="$HOME/.pyenv/shims:${PATH}"
+
+  if [ "$0" = "bash" ]; then
+    export PYENV_SHELL=bash
+    source '$HOME/.pyenv/libexec/../completions/pyenv.bash'
+  elif [ "$0" = "bash" ]; then
+    export PYENV_SHELL=zsh
+    source '$HOME/.pyenv/libexec/../completions/pyenv.zsh'
+  fi
+
+  command pyenv rehash 2>/dev/null
+
+  pyenv() {
+    local command
+    command="${1:-}"
+
+    if [ "$#" -gt 0 ]; then
+      shift
+    fi
+
+    case "$command" in
+      rehash|shell)
+        eval "$(pyenv "sh-$command" "$@")"
+        ;;
+      *)
+        command pyenv "$command" "$@"
+        ;;
+    esac
+  }
+fi
+
 # Export PATH
 export PATH=$PATH
 
@@ -410,7 +447,7 @@ cd $STARTUP_FOLDER
 #  scripts="`find $HOME/.profile.d -type f`"
 #
 #  for script in $scripts; do
-#    include $script
+#    source $script
 #  done
 #fi
 
@@ -419,7 +456,7 @@ cd $STARTUP_FOLDER
 #  scripts="`find $HOME/.custom/profile.d -type f`"
 #
 #  for script in $scripts; do
-#    include $script
+#    source $script
 #  done
 #fi