diff options
Diffstat (limited to '.config/shell')
-rw-r--r-- | .config/shell/env | 12 | ||||
-rw-r--r-- | .config/shell/functions.d/venv | 48 | ||||
-rw-r--r-- | .config/shell/sources | 42 | ||||
m--------- | .config/shell/vendor/bash/feature-auto-completion | 0 | ||||
m--------- | .config/shell/vendor/zsh/feature-syntax-highlighting | 0 |
5 files changed, 64 insertions, 38 deletions
diff --git a/.config/shell/env b/.config/shell/env index e4ac331..fe1e814 100644 --- a/.config/shell/env +++ b/.config/shell/env @@ -34,12 +34,14 @@ fi export DMENU_OPTS='-i -fn "Liberation Mono:pixelsize=13" -nb "#000" -nf "#fff" -sb "#4c679a" -l 15 -dim 0.5 -o 0.9' # Set XDG directories -export XDG_DATA_HOME="${HOME}/.local/share" -export XDG_CONFIG_HOME="${HOME}/.config" -export XDG_DATA_DIRS="/usr/local/share/:/usr/share/" +export XDG_CACHE_HOME="$HOME/.cache" +export XDG_CONFIG_HOME="$HOME/.config" +export XDG_DATA_HOME="$HOME/.local/share" +export XDG_STATE_HOME="$HOME/.local/state" + export XDG_CONFIG_DIRS="/etc/xdg/" -export XDG_CACHE_HOME="${HOME}/.cache" -export XDG_TEMPLATES_DIR="${HOME}/.local/templates" +export XDG_DATA_DIRS="/usr/local/share/:/usr/share/" +export XDG_TEMPLATES_DIR="$HOME/.local/templates" #export XDG_RUNTIME_DIR="" # export gpg-agent diff --git a/.config/shell/functions.d/venv b/.config/shell/functions.d/venv new file mode 100644 index 0000000..c23a02d --- /dev/null +++ b/.config/shell/functions.d/venv @@ -0,0 +1,48 @@ +#!/bin/sh + +venv() { + if ! command -V "venv_$1" | grep -q " function " + then + cat <<EOF +Usage: + venv on + venv off + +Manage the python venv for a given project or directory. + +Commands: + on Enable the venv for \$PWD + off Deactivate the current venv +EOF + + return 1 + fi + + "venv_$1" +} + +venv_on() { + export PYTHON_VENV_DIR="$PWD/.venv" + export VIRTUAL_ENV_DISABLE_PROMPT=1 + + if [ ! -d "$PYTHON_VENV_DIR" ] + then + printf "Initializing venv directory at %s\n" "$PYTHON_VENV_DIR" + python3 -m venv "$PYTHON_VENV_DIR" + fi + + . "$PYTHON_VENV_DIR/bin/activate" +} + +venv_off() { + if [ -z "$PYTHON_VENV_DIR" ] + then + printf "No venv active?\n" + return 1 + fi + + deactivate + + unset PYTHON_VENV_DIR + unset VIRTUAL_ENV_DISABLE_PROMPT +} diff --git a/.config/shell/sources b/.config/shell/sources index 43a3bb0..62a7f7b 100644 --- a/.config/shell/sources +++ b/.config/shell/sources @@ -2,42 +2,11 @@ # Author: Patrick Spek <p.spek@tyil.nl> # License: BSD 3-clause license # -# Apparently tmux likes to unset your PATH variable. As a workaround the PATH -# will be unset completely at the start of this script, then reset using this -# script. This was the only viable method for me to keep my PATH clean -[ "${DEBUG_DOTFILES}" ] && echo "Unsetting PATH" -unset PATH - [ "${DEBUG_DOTFILES}" ] && echo "Setting PATH" # User-local bin dir -PATH="${HOME}/.local/bin" - -# User-level pkgsrc bin dir -PATH="${PATH}:/home/tyil/.pkgsrc/bin" -PATH="${PATH}:/home/tyil/.pkgsrc/sbin" - -# Personal scripts and wrappers -PATH="${PATH}:${HOME}/.config/shell/wrappers.d" - -# Language specific package manager bin dirs -PATH="${PATH}:${HOME}/.local/share/perl6/site/bin" -PATH="${PATH}:${HOME}/.local/share/perl6/vendor/bin" -PATH="${PATH}:${HOME}/.local/share/perl6" -PATH="${PATH}:${HOME}/.pkgsrc/share/perl6/site/bin" -PATH="${PATH}:${HOME}/.pkgsrc/share/perl6/vendor/bin" -PATH="${PATH}:${HOME}/.pkgsrc/share/perl6" -PATH="${PATH}:${HOME}/.cabal/bin" - -# System bin dirs -PATH="${PATH}:/bin" -PATH="${PATH}:/sbin" -PATH="${PATH}:/usr/bin" -PATH="${PATH}:/usr/sbin" -PATH="${PATH}:/usr/local/bin" -PATH="${PATH}:/usr/local/sbin" -PATH="${PATH}:/usr/games/bin" -PATH="${PATH}:/opt/bin" +PATH="$HOME/.config/shell/wrappers.d:$PATH" +PATH="$HOME/.local/bin:$PATH" # snaps were a terrible idea and anyone in favour of them should be ashamed # of themselves @@ -58,6 +27,13 @@ then PATH="$PATH:/usr/local/share/perl6/vendor/bin" fi +# Python packages +if command -v python >/dev/null 2>&1 +then + PATH="$PATH:$(python -c 'import site; print(":".join(map(lambda x: x + "/usr/bin", site.getsitepackages())))')" + PATH="$PATH:$(python -c 'import site; print(":".join(map(lambda x: x + "/usr/sbin", site.getsitepackages())))')" +fi + # Load color definitions if they exist if [ -f "$HOME/.config/shell/colors/$SHORTSHELL" ] then diff --git a/.config/shell/vendor/bash/feature-auto-completion b/.config/shell/vendor/bash/feature-auto-completion new file mode 160000 +Subproject a18a07b34b37377bb523afa78899259f21d575a diff --git a/.config/shell/vendor/zsh/feature-syntax-highlighting b/.config/shell/vendor/zsh/feature-syntax-highlighting new file mode 160000 +Subproject e0165eaa730dd0fa321a6a6de74f092fe87630b |