jadkik / dotfiles

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

dotfiles

X

zsh setup:

mkdir ~/.zpresto-contrib
git clone https://github.com/mroth/evalcache.git ~/.zpresto-contrib/evalcache
git clone https://github.com/prezto-contributions/prezto-kubectl.git ~/.zpresto-contrib/prezto-kubectl

Apply this patch to zpresto:

diff --git a/modules/python/init.zsh b/modules/python/init.zsh
index 91aa6d0..bb78748 100644
--- a/modules/python/init.zsh
+++ b/modules/python/init.zsh
@@ -20,12 +20,12 @@ if [[ -s "${local_pyenv::=${PYENV_ROOT:-$HOME/.pyenv}/bin/pyenv}" ]] \
   [[ -s $local_pyenv ]] && path=($local_pyenv:h $path)

   # pyenv 2+ requires shims to be added to path before being initialized.
-  autoload -Uz is-at-least
-  if is-at-least 2 ${"$(pyenv --version 2>&1)"[(w)2]}; then
+#  autoload -Uz is-at-least
+#  if is-at-least 2 ${"$(pyenv --version 2>&1)"[(w)2]}; then
     eval "$(pyenv init --path zsh)"
-  fi
+#  fi

-  eval "$(pyenv init - zsh)"
+  eval "$(pyenv init --no-rehash - zsh)"

 # Prepend PEP 370 per user site packages directory, which defaults to
 # ~/Library/Python on macOS and ~/.local elsewhere, to PATH. The
@@ -48,46 +48,46 @@ if (( ! $#commands[(i)python[23]#] && ! $+functions[pyenv] && ! $+commands[conda
   return 1
 fi

-function _python-workon-cwd {
-  # Check if this is a Git repo.
-  local GIT_REPO_ROOT="$(git rev-parse --show-toplevel 2> /dev/null)"
-  # Get absolute path, resolving symlinks.
-  local PROJECT_ROOT="$PWD:A"
-  while [[ "$PROJECT_ROOT" != "/" && ! -e "$PROJECT_ROOT/.venv" \
-        && ! -d "$PROJECT_ROOT/.git"  && "$PROJECT_ROOT" != "$GIT_REPO_ROOT" ]]; do
-    PROJECT_ROOT="$PROJECT_ROOT:h"
-  done
-  if [[ $PROJECT_ROOT == "/" ]]; then
-    PROJECT_ROOT="."
-  fi
-  # Check for virtualenv name override.
-  local ENV_NAME=""
-  if [[ -f "$PROJECT_ROOT/.venv" ]]; then
-    ENV_NAME="$(<$PROJECT_ROOT/.venv)"
-  elif [[ -f "$PROJECT_ROOT/.venv/bin/activate" ]]; then
-    ENV_NAME="$PROJECT_ROOT/.venv"
-  elif [[ $PROJECT_ROOT != "." ]]; then
-    ENV_NAME="$PROJECT_ROOT:t"
-  fi
-  if [[ -n $CD_VIRTUAL_ENV && "$ENV_NAME" != "$CD_VIRTUAL_ENV" ]]; then
-    # We've just left the repo, deactivate the environment.
-    # Note: this only happens if the virtualenv was activated automatically.
-    deactivate && unset CD_VIRTUAL_ENV
-  fi
-  if [[ $ENV_NAME != "" ]]; then
-    # Activate the environment only if it is not already active.
-    if [[ "$VIRTUAL_ENV" != "$WORKON_HOME/$ENV_NAME" ]]; then
-      if [[ -n "$WORKON_HOME" && -e "$WORKON_HOME/$ENV_NAME/bin/activate" ]]; then
-        workon "$ENV_NAME" && export CD_VIRTUAL_ENV="$ENV_NAME"
-      elif [[ -e "$ENV_NAME/bin/activate" ]]; then
-        source $ENV_NAME/bin/activate && export CD_VIRTUAL_ENV="$ENV_NAME"
+# Load auto workon cwd hook.
+if zstyle -t ':prezto:module:python:virtualenv' auto-switch; then
+  function _python-workon-cwd {
+    # Check if this is a Git repo.
+    local GIT_REPO_ROOT="$(git rev-parse --show-toplevel 2> /dev/null)"
+    # Get absolute path, resolving symlinks.
+    local PROJECT_ROOT="$PWD:A"
+    while [[ "$PROJECT_ROOT" != "/" && ! -e "$PROJECT_ROOT/.venv" \
+          && ! -d "$PROJECT_ROOT/.git"  && "$PROJECT_ROOT" != "$GIT_REPO_ROOT" ]]; do
+      PROJECT_ROOT="$PROJECT_ROOT:h"
+    done
+    if [[ $PROJECT_ROOT == "/" ]]; then
+      PROJECT_ROOT="."
+    fi
+    # Check for virtualenv name override.
+    local ENV_NAME=""
+    if [[ -f "$PROJECT_ROOT/.venv" ]]; then
+      ENV_NAME="$(<$PROJECT_ROOT/.venv)"
+    elif [[ -f "$PROJECT_ROOT/.venv/bin/activate" ]]; then
+      ENV_NAME="$PROJECT_ROOT/.venv"
+    elif [[ $PROJECT_ROOT != "." ]]; then
+      ENV_NAME="$PROJECT_ROOT:t"
+    fi
+    if [[ -n $CD_VIRTUAL_ENV && "$ENV_NAME" != "$CD_VIRTUAL_ENV" ]]; then
+      # We've just left the repo, deactivate the environment.
+      # Note: this only happens if the virtualenv was activated automatically.
+      deactivate && unset CD_VIRTUAL_ENV
+    fi
+    if [[ $ENV_NAME != "" ]]; then
+      # Activate the environment only if it is not already active.
+      if [[ "$VIRTUAL_ENV" != "$WORKON_HOME/$ENV_NAME" ]]; then
+        if [[ -n "$WORKON_HOME" && -e "$WORKON_HOME/$ENV_NAME/bin/activate" ]]; then
+          workon "$ENV_NAME" && export CD_VIRTUAL_ENV="$ENV_NAME"
+        elif [[ -e "$ENV_NAME/bin/activate" ]]; then
+          source $ENV_NAME/bin/activate && export CD_VIRTUAL_ENV="$ENV_NAME"
+        fi
       fi
     fi
-  fi
-}
+  }

-# Load auto workon cwd hook.
-if zstyle -t ':prezto:module:python:virtualenv' auto-switch; then
   # Auto workon when changing directory.
   autoload -Uz add-zsh-hook
   add-zsh-hook chpwd _python-workon-cwd
diff --git a/runcoms/zpreztorc b/runcoms/zpreztorc
index cc6ebb4..21377e0 100644
--- a/runcoms/zpreztorc
+++ b/runcoms/zpreztorc
@@ -16,7 +16,7 @@
 zstyle ':prezto:*:*' color 'yes'

 # Add additional directories to load prezto modules from
-# zstyle ':prezto:load' pmodule-dirs $HOME/.zprezto-contrib
+zstyle ':prezto:load' pmodule-dirs $HOME/.zprezto-contrib

 # Allow module overrides when pmodule-dirs causes module name collisions
 # zstyle ':prezto:load' pmodule-allow-overrides 'yes'
@@ -29,17 +29,50 @@ zstyle ':prezto:*:*' color 'yes'

 # Set the Prezto modules to load (browse modules).
 # The order matters.
-zstyle ':prezto:load' pmodule \
-  'environment' \
-  'terminal' \
-  'editor' \
-  'history' \
-  'directory' \
-  'spectrum' \
-  'utility' \
-  'completion' \
-  'history-substring-search' \
+MY_MODULES=(
+  'environment'
+  'terminal'
+  'editor'
+  'history'
+  'directory'
+  'spectrum'
+  'utility'
+
+
+# Slow - but still faster than "vanilla" pyenv
+  'python'
+
+  'completion'
+  'syntax-highlighting'
+  'history-substring-search'
   'prompt'
+  'git'
+
+# Maybe has useful aliases?
+#  'kubectl'
+
+# Speed up nvm, jenv etc. (in tandem with .zutils.zsh)
+  'evalcache'
+
+# Not really useful
+#  'osx'
+#  'homebrew'
+#  'archive'
+
+# Needs some more config
+#  'tmux'
+
+# Needs a patched rsync (from homebrew?)
+#  'rsync'
+
+# Very slow
+#  'node'
+
+# Not installed
+#  'helm'
+
+)
+zstyle ':prezto:load' pmodule "${MY_MODULES[@]}";

 #
 # Autosuggestions
@@ -117,7 +150,7 @@ zstyle ':prezto:module:editor' key-bindings 'emacs'
 # Set the prompt theme to load.
 # Setting it to 'random' loads a random theme.
 # Auto set to 'off' on dumb terminals.
-zstyle ':prezto:module:prompt' theme 'sorin'
+zstyle ':prezto:module:prompt' theme 'agnoster'

 # Set the working directory prompt display length.
 # By default, it is set to 'short'. Set it to 'long' (without '~' expansion)
@@ -133,10 +166,13 @@ zstyle ':prezto:module:prompt' theme 'sorin'
 #

 # Auto switch the Python virtualenv on directory change.
-# zstyle ':prezto:module:python:virtualenv' auto-switch 'yes'
+zstyle ':prezto:module:python:virtualenv' auto-switch 'no'
+
+# Automatically initialize virtualenvwrapper if pre-requisites are met.
+zstyle ':prezto:module:python:virtualenv' initialize 'yes'

 # Automatically initialize virtualenvwrapper if pre-requisites are met.
-# zstyle ':prezto:module:python:virtualenv' initialize 'yes'
+zstyle ':prezto:module:python' skip-virtualenvwrapper-init 'on'

 #
 # Ruby
diff --git a/runcoms/zprofile b/runcoms/zprofile
index 1cf48bf..4dc4656 100644
--- a/runcoms/zprofile
+++ b/runcoms/zprofile
@@ -44,9 +44,14 @@ typeset -gU cdpath fpath mailpath path
 # Set the list of directories that Zsh searches for programs.
 path=(
   /usr/local/{bin,sbin}
+  "$HOME/.poetry-home/bin"
   $path
 )

+export POETRY_HOME="$HOME/.poetry-home"
+
+eval "$(pyenv init --path)"
+
 #
 # Less
 #
@@ -54,7 +59,7 @@ path=(
 # Set the default Less options.
 # Mouse-wheel scrolling has been disabled by -X (disable screen clearing).
 # Remove -X to enable it.
-export LESS='-g -i -M -R -S -w -X -z-4'
+export LESS='-g -i -M -R -S -w -X -z-4 -F'

 # Set the Less input preprocessor.
 # Try both `lesspipe` and `lesspipe.sh` as either might exist on a system.

About


Languages

Language:Shell 100.0%