aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsrdusr <trevorgray@srdusr.com>2025-09-30 11:55:11 +0200
committersrdusr <trevorgray@srdusr.com>2025-09-30 11:55:11 +0200
commit3bb4dbc5e0b9b9a003b3d47b7f48a98319ad9108 (patch)
tree16305c7465853aa720fa3f449ee1139545e0217f
parenta6243585ba861c80d19f5f135170204e22bfc346 (diff)
downloaddotfiles-3bb4dbc5e0b9b9a003b3d47b7f48a98319ad9108.tar.gz
dotfiles-3bb4dbc5e0b9b9a003b3d47b7f48a98319ad9108.zip
Various changes, fixed .zshenv initializing properly, updated install.sh/packages.yml (testing shell-git invocation/make tmp and re-exec with bash)
-rw-r--r--[-rwxr-xr-x]common/.profile0
-rw-r--r--common/config/zsh/.zshenv410
-rw-r--r--common/config/zsh/.zshrc15
3 files changed, 160 insertions, 265 deletions
diff --git a/common/.profile b/common/.profile
index 53703b7..53703b7 100755..100644
--- a/common/.profile
+++ b/common/.profile
diff --git a/common/config/zsh/.zshenv b/common/config/zsh/.zshenv
index cdab5b7..b7b4f56 100644
--- a/common/config/zsh/.zshenv
+++ b/common/config/zsh/.zshenv
@@ -1,282 +1,189 @@
-# Load local/system wide binaries and scripts
-export PATH=$HOME/.bin:$HOME/.local/bin:$HOME/.scripts:/usr/local/bin:/sbin:/usr/sbin:$PATH
-export PATH="/data/data/com.termux/files/usr/local/bin:$PATH"
+#######################################
+# XDG Base Directories
+#######################################
+export XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-$HOME/.config}"
+export XDG_DATA_HOME="${XDG_DATA_HOME:-$HOME/.local/share}"
+export XDG_CACHE_HOME="${XDG_CACHE_HOME:-$HOME/.cache}"
+
+export INPUTRC="$XDG_CONFIG_HOME/inputrc"
+export ZDOTDIR="$XDG_CONFIG_HOME/zsh"
+
+#######################################
+# PATH Setup
+#######################################
+# Base user paths
+export PATH="$HOME/.bin:$HOME/.local/bin:$HOME/.scripts:/usr/local/bin:/sbin:/usr/sbin:$PATH"
+
+# Termux (Android)
+if [ -d "/data/data/com.termux/files/usr/local/bin" ]; then
+ export PATH="/data/data/com.termux/files/usr/local/bin:$PATH"
+fi
+
+# cmake
+if [ -x "/usr/bin/cmake" ]; then
+ export PATH="/usr/bin/cmake:$PATH"
+fi
-# List of directories to ignore (relative to ~/.scripts)
-EXCLUDE_DIRS=("assets" "test")
+# Chrome
+if [ -d "/opt/google/chrome" ]; then
+ export PATH="$PATH:/opt/google/chrome"
+fi
+
+# Homebrew (macOS / Linux)
+if [ -d "/opt/homebrew/bin" ]; then
+ export PATH="/opt/homebrew/bin:/opt/homebrew/sbin:$PATH"
+fi
+
+# Nix profile
+if [ -d "$HOME/.nix-profile/bin" ]; then
+ export PATH="$HOME/.nix-profile/bin:$PATH"
+fi
-# Add .scripts to path
+#######################################
+# Add ~/.scripts (excluding some dirs)
+#######################################
+EXCLUDE_DIRS=(".git" "assets" "test")
if [ -d "$HOME/.scripts" ]; then
while IFS= read -r -d '' dir; do
- # Extract relative path
rel_path="${dir#$HOME/.scripts/}"
-
- # Check if the directory is in the exclude list
skip=false
for exclude in "${EXCLUDE_DIRS[@]}"; do
- if [[ "$rel_path" == "$exclude"* ]]; then
- skip=true
- break
- fi
+ [[ "$rel_path" == "$exclude"* ]] && skip=true && break
done
-
- # Add to PATH if not excluded
- if [ "$skip" = false ]; then
- PATH="$dir:$PATH"
- fi
+ [ "$skip" = false ] && PATH="$dir:$PATH"
done < <(find "$HOME/.scripts" -type d -print0)
fi
-# Global TERM color
-export TERM=xterm-256color
-
+#######################################
+# Terminal
+#######################################
+export TERM="xterm-256color"
+export COLORTERM="truecolor"
-# Conditionally set default term
-available_terms=("wezterm" "kitty" "alacritty" "xterm")
-for term in "${available_terms[@]}"; do
- if command -v "$term" &> /dev/null; then
+# Choose default terminal
+for term in wezterm kitty alacritty xterm; do
+ if command -v "$term" &>/dev/null; then
export TERMINAL="$term"
break
fi
done
-# Default Programs:
-export EDITOR=$(command -v nvim || echo "vim")
+#######################################
+# Default Programs
+#######################################
+export EDITOR="$(command -v nvim || command -v vim || echo nano)"
export TEXEDIT="$EDITOR"
export FCEDIT="$EDITOR"
export VISUAL="$EDITOR"
export GIT_EDITOR="$EDITOR"
-export COLORTERM="truecolor"
-export TERM="xterm-256color"
+
export READER="zathura"
export BROWSER="firefox"
export OPENER="xdg-open"
-if command -v nvim &> /dev/null; then
+export VIDEO="mpv"
+export IMAGE="phototonic"
+
+# Man pager
+if command -v nvim &>/dev/null; then
export MANPAGER="sh -c 'col -b | nvim -c \"set ft=man ts=8 nomod nolist nonu noma\" -c \"autocmd VimEnter * call feedkeys(\\\"\\<CR>q\\\")\" -'"
else
export MANPAGER="bat"
fi
export MANROFFOPT="-c"
export PAGER="less"
-export FAQ_STYLE='github'
-export VIDEO="mpv"
-export IMAGE="phototonic"
-
-# XDG Paths:
-export XDG_CONFIG_HOME=${XDG_CONFIG_HOME:-$HOME/.config}
-export XDG_DATA_HOME=${XDG_DATA_HOME:-$HOME/.local/share}
-export XDG_CACHE_HOME=${XDG_CACHE_HOME:-$HOME/.cache}
-export INPUTRC="${XDG_CONFIG_HOME:-$HOME/.config}/inputrc"
-export ZDOTDIR="$XDG_CONFIG_HOME/zsh"
-export HISTFILE="$ZDOTDIR/.zhistory" # History filepath
-export HISTSIZE=1000000 # Maximum events for internal history
-export SAVEHIST=1000000 # Maximum events in history file
-export BANG_HIST # Treat the '!' character specially during expansion.
-export EXTENDED_HISTORY # Write the history file in the ":start:elapsed;command" format.
-export INC_APPEND_HISTORY # Write to the history file immediately, not when the shell exits.
-export SHARE_HISTORY # Share history between all sessions.
-export HIST_EXPIRE_DUPS_FIRST # Expire duplicate entries first when trimming history.
-export HIST_IGNORE_DUPS # Don't record an entry that was just recorded again.
-export HIST_IGNORE_ALL_DUPS # Delete old recorded entry if new entry is a duplicate.
-export HIST_FIND_NO_DUPS # Do not display a line previously found.
-export HIST_IGNORE_SPACE # Don't record an entry starting with a space.
-export HIST_SAVE_NO_DUPS # Don't write duplicate entries in the history file.
-export HIST_REDUCE_BLANKS # Remove superfluous blanks before recording entry.
-export HIST_VERIFY # Don't execute immediately upon history expansion.
-export HIST_BEEP # Beep when accessing nonexistent history.
-export INC_APPEND_HISTORY
-
-# Customize `ls` colours
+#######################################
+# Shell History
+#######################################
+export HISTFILE="$ZDOTDIR/.zhistory"
+export HISTSIZE=1000000
+export SAVEHIST=1000000
+setopt BANG_HIST EXTENDED_HISTORY INC_APPEND_HISTORY SHARE_HISTORY
+setopt HIST_EXPIRE_DUPS_FIRST HIST_IGNORE_DUPS HIST_IGNORE_ALL_DUPS
+setopt HIST_FIND_NO_DUPS HIST_IGNORE_SPACE HIST_SAVE_NO_DUPS
+setopt HIST_REDUCE_BLANKS HIST_VERIFY HIST_BEEP
+
+#######################################
+# Colors
+#######################################
export LSCOLORS=ExGxBxDxCxEgEdxbxgxcxd
-# Other XDG paths:
+# less colors
+export LESS_TERMCAP_mb=$(tput bold; tput setaf 2) # green
+export LESS_TERMCAP_md=$(tput bold; tput setaf 2) # green
+export LESS_TERMCAP_so=$(tput bold; tput setaf 3) # yellow
+export LESS_TERMCAP_se=$(tput rmso; tput sgr0)
+export LESS_TERMCAP_us=$(tput smul; tput bold; tput setaf 1) # red
+export LESS_TERMCAP_ue=$(tput sgr0)
+export LESS_TERMCAP_me=$(tput sgr0)
+
+#######################################
+# Miscellaneous XDG-aware configs
+#######################################
export RIPGREP_CONFIG_PATH="$XDG_CONFIG_HOME/ripgrep/ripgreprc"
export DOCKER_CONFIG="$XDG_CONFIG_HOME/docker"
export VSCODE_PORTABLE="$XDG_DATA_HOME/vscode"
export GTK2_RC_FILES="$XDG_CONFIG_HOME/gtk-2.0/gtkrc"
-export PATH="/usr/bin/cmake:$PATH"
-export PATH=$PATH:/opt/google/chrome
export DISCORD_USER_DATA_DIR="$XDG_DATA_HOME"
export LYNX_CFG="$XDG_CONFIG_HOME/.lynxrc"
-# Manage Arch linux build sources
-export ASPROOT="${XDG_CACHE_HOME:-$HOME/.cache}/asp"
-
-# Homebrew
-#export PATH=/opt/homebrew/bin:$PATH
-export PATH="/opt/homebrew/sbin:$PATH"
-
-# Nix-profile
-export PATH=$HOME/.nix-profile/bin:$PATH
-
-# GnuPG
-export GPG_TTY=$(tty)
-#export GNUPGHOME="$XDG_CONFIG_HOME/gnupg"
-
-# Nvim
-export NVIM_TUI_ENABLE_TRUE_COLOR=1
-
-# Let FZF use ripgrep by default
-if type rg &> /dev/null; then
- export FZF_DEFAULT_COMMAND="rg --files --hidden --glob '!{node_modules/*,.git/*}'"
- export FZF_DEFAULT_OPTS='-m --height 50% --border'
- export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND"
-fi
-
-# Zoxide (cd alternative)
-if command -v zoxide >/dev/null 2>&1; then
- eval "$(zoxide init zsh)"
-fi
-
-export XDG_MENU_PREFIX=gnome-
-
-# enable git scripts
-export DEVELOPMENT_DIRECTORY="$HOME/code"
-
-# Android Home
-export ANDROID_HOME=/opt/android-sdk
-export PATH=$ANDROID_HOME/cmdline-tools/latest/bin:$PATH
-#export PATH=$ANDROID_HOME/cmdline-tools/bin:$PATH
-export PATH=$ANDROID_HOME/tools:$PATH
-export PATH=$ANDROID_HOME/tools/bin:$PATH
-export PATH=$ANDROID_HOME/platform-tools:$PATH
-# Android emulator PATH
-export PATH=$ANDROID_HOME/emulator:$PATH
-# Android SDK ROOT PATH
-export ANDROID_SDK_ROOT=/opt/android-sdk
-export PATH=$ANDROID_SDK_ROOT:$PATH
-#export ANDROID_SDK_HOME="${XDG_CONFIG_HOME:-$HOME/.config}/android"
-
-# Programming Environment Variables:
+#######################################
+# Languages / SDKs
+#######################################
# Rust
-export RUSTUP_HOME=${XDG_DATA_HOME:-$HOME/.local/share}/rustup
-export CARGO_HOME=${XDG_DATA_HOME:-$HOME/.local/share}/cargo
-export PATH="${CARGO_HOME}/bin:${RUSTUP_HOME}/bin:$PATH"
-#export PATH="$PATH:$CARGO_HOME/bin"
-#[[ -d $CARGO_HOME/bin ]] && path=($CARGO_HOME/bin $path)
-if which rustc > /dev/null; then export RUST_BACKTRACE=1; fi
-#export PATH="$HOME/.cargo/bin:$PATH"
-#export CARGO_HOME=${XDG_DATA_HOME}/cargo
-#export RUSTUP_HOME=${XDG_DATA_HOME}/rustup
-
+export RUSTUP_HOME="$XDG_DATA_HOME/rustup"
+export CARGO_HOME="$XDG_DATA_HOME/cargo"
+export PATH="$CARGO_HOME/bin:$RUSTUP_HOME/bin:$PATH"
+command -v rustc &>/dev/null && export RUST_BACKTRACE=1
# Dotnet
-# # Currently dotnet does not support XDG ( https://github.com/dotnet/sdk/issues/10390 )
-#export DOTNET_TOOLS_DIR="$HOME/.dotnet/tools"
-export DOTNET_HOME=${XDG_DATA_HOME:-$HOME/.local/share}/dotnet
+export DOTNET_HOME="$XDG_DATA_HOME/dotnet"
export DOTNET_CLI_HOME="$XDG_CONFIG_HOME/dotnet"
-#mkdir -p "$DOTNET_CLI_HOME";
-export PATH="$PATH":"$DOTNET_HOME"/tools
-export DOTNET_ROOT=/opt/dotnet
-# Disable telemetry for dotnet apps
+export PATH="$DOTNET_HOME/tools:$PATH"
+export DOTNET_ROOT="/opt/dotnet"
export DOTNET_CLI_TELEMETRY_OPTOUT=1
-
# Java
-#export JAVA_HOME=/usr/lib/jvm/default-java
-#export JAVA_HOME='/usr/lib/jvm/java-8-openjdk'
-#export JAVA_HOME='/usr/lib/jvm/java-10-openjdk'
-#export JAVA_HOME='/usr/lib/jvm/java-11-openjdk'
-#export JAVA_HOME='/usr/lib/jvm/java-17-openjdk'
-export JAVA_HOME='/usr/lib/jvm/java-20-openjdk'
-#export PATH=$JAVA_HOME/bin:$PATH
-export _JAVA_OPTIONS=-Djava.util.prefs.userRoot="$XDG_CONFIG_HOME"/java
-#export DEFAULT_JVM_OPTS='"-Dcom.android.sdklib.toolsdir=$APP_HOME" -XX:+IgnoreUnrecognizedVMOptions'
-#export _JAVA_AWT_WM_NONREPARENTING=1
-#export JAVA_OPTS='-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'
-#export JAVA_OPTS='-XX:+IgnoreUnrecognizedVMOptions --add-modules java.xml.bind'
-#Windows:
-#set JAVA_OPTS=-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee
-
-
-# Dart/Flutter
-export PATH="/opt/flutter/bin:/usr/lib/dart/bin:$PATH"
+export JAVA_HOME="/usr/lib/jvm/java-20-openjdk"
+export _JAVA_OPTIONS="-Djava.util.prefs.userRoot=$XDG_CONFIG_HOME/java"
+# Dart / Flutter
+if [ -d "/opt/flutter/bin" ]; then
+ export PATH="/opt/flutter/bin:/usr/lib/dart/bin:$PATH"
+fi
# Go
-export GO_PATH=${XDG_DATA_HOME}/go
-export GOPATH="${XDG_DATA_HOME:-$HOME/.local/share}/go"
-
+export GOPATH="$XDG_DATA_HOME/go"
-# Javascript
-# NVM
-export NVM_DIR="$HOME/.config/nvm"
+# Node / NVM
+export NVM_DIR="$XDG_CONFIG_HOME/nvm"
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
-#[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
-
-# global node installs (gross)
-[[ -d "$XDG_DATA_HOME/node/bin" ]] && path=($XDG_DATA_HOME/node/bin $path)
-export NODE_REPL_HISTORY="$XDG_DATA_HOME"/node_repl_history
-export NPM_CONFIG_USERCONFIG=$XDG_CONFIG_HOME/npm/npmrc
-#export NPM_CONFIG_INIT_AUTHOR_NAME='srdusr'
-#export NPM_CONFIG_INIT_AUTHOR_EMAIL='trevorgray@srdusr.com'
-#export NPM_CONFIG_INIT_AUTHOR_URL='https://srdusr.com'
-#export NPM_CONFIG_INIT_LICENSE='GPL-3.0'
-#export NPM_CONFIG_INIT_VERSION='0.0.0'
-#export NPM_CONFIG_SIGN_GIT_TAG='true'
+[[ -d "$XDG_DATA_HOME/node/bin" ]] && PATH="$XDG_DATA_HOME/node/bin:$PATH"
+export NODE_REPL_HISTORY="$XDG_DATA_HOME/node_repl_history"
+export NPM_CONFIG_USERCONFIG="$XDG_CONFIG_HOME/npm/npmrc"
+
+# Bun
export BUN_INSTALL="$HOME/.bun"
export PATH="$BUN_INSTALL/bin:$PATH"
-# Register Bun completion
-#fpath=("$HOME/.bun" $fpath)
-
-# Yarn
-#if command -v yarn >/dev/null 2>&1; then
-# export PATH="$PATH:`yarn global bin`"
-#fi
-#export PATH="$(yarn global bin):$PATH"
-#YARN_PATH="$HOME/.yarn/bin"
-#YARN_BIN_EXPORT="$HOME/.config/yarn/global/node_modules/.bin"
-
# Ruby
-export GEM_PATH="$XDG_DATA_HOME/ruby/gems"
-export GEM_SPEC_CACHE="$XDG_DATA_HOME/ruby/specs"
export GEM_HOME="$XDG_DATA_HOME/ruby/gems"
-#if [[ -d ~/.gem/ruby ]]; then
-# ver=$(find ~/.gem/ruby/* -maxdepth 0 | sort -rV | head -n 1)
-# export PATH="$PATH:${ver}/bin"
-#fi
-
+export GEM_PATH="$GEM_HOME"
+export GEM_SPEC_CACHE="$XDG_DATA_HOME/ruby/specs"
# Python
-# lazy load pyenv
-#export PYENV_ROOT=${PYENV_ROOT:-$HOME/.pyenv}
-#[[ -a $PYENV_ROOT/bin/pyenv ]] && path=($PYENV_ROOT/bin $path)
-#if type pyenv &> /dev/null || [[ -a $PYENV_ROOT/bin/pyenv ]]; then
-# function pyenv() {
-# unset pyenv
-# path=($PYENV_ROOT/shims $path)
-# eval "$(command pyenv init -)"
-# if which pyenv-virtualenv-init > /dev/null; then
-# eval "$(pyenv virtualenv-init -)"
-# export PYENV_VIRTUALENV_DISABLE_PROMPT=1
-# fi
-# pyenv $@
-# }
-#fi
-#export WORKON_HOME="$XDG_DATA_HOME/virtualenvs"
-#export WORKON_HOME=$HOME/.virtualenvs
-#export VIRTUALENVWRAPPER_PYTHON=`which python3`
-#export VIRTUALENVWRAPPER_PYTHON=$(which python3)
-#export VIRTUALENVWRAPPER_VIRTUALENV=`which virtualenv`
-#source /usr/local/bin/virtualenvwrapper.sh
-
-# Check if virtualenvwrapper.sh exists before sourcing
if command -v virtualenvwrapper.sh >/dev/null 2>&1; then
export WORKON_HOME="$HOME/.virtualenvs"
export VIRTUALENVWRAPPER_PYTHON="$(command -v python3)"
export VIRTUALENVWRAPPER_VIRTUALENV="$(command -v virtualenv)"
source "$(command -v virtualenvwrapper.sh)"
fi
-
export VIRTUAL_ENV_DISABLE_PROMPT=false
export JUPYTER_CONFIG_DIR="$XDG_CONFIG_HOME/jupyter"
export IPYTHONDIR="$XDG_CONFIG_HOME/jupyter"
-# Python
[[ "$(uname)" == "Darwin" ]] && export PYTHON_CONFIGURE_OPTS="--enable-framework"
[[ "$(uname)" == "Linux" ]] && export PYTHON_CONFIGURE_OPTS="--enable-shared"
@@ -284,63 +191,46 @@ export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
# PHP
-PATH="$HOME/.config/composer/vendor/bin:$PATH"
-
+export PATH="$HOME/.config/composer/vendor/bin:$PATH"
# Lua
-export PATH=$PATH:/usr/local/luarocks/bin
-#export PATH="$XDG_DATA_HOME/luarocks/bin:$PATH"
-
-#ver=$(find lua* -maxdepth 0 | sort -rV | head -n 1)
-#export LUA_PATH="$LUA_PATH:${ver}/share/lua/5.1/?.lua;${ver}/share/lua/5.1/?/init.lua;;"
-#export LUA_CPATH="$LUA_CPATH:${ver}/lib/lua/5.1/?.so;;"
-
-#LUAROCKS_PREFIX=/usr/local
-#export LUA_PATH="$LUAROCKS_PREFIX/share/lua/5.1/?.lua;$LUAROCKS_PREFIX/share/lua/5.1/?/init.lua;;"
-#export LUA_CPATH="$LUAROCKS_PREFIX/lib/lua/5.1/?.so;;"
-
-#export LUA_PATH="<path-to-add>;;"
-#export LUA_CPATH="./?.so;/usr/local/lib/lua/5.3/?.so;
-# /usr/local/share/lua/5.3/?.so;<path-to-add>"
-
+if [ -d "/usr/local/luarocks/bin" ]; then
+ export PATH="$PATH:/usr/local/luarocks/bin"
+fi
-# Program settings
-#export MOZ_USE_XINPUT2="1" # Mozilla smooth scrolling/touchpads.
-# Pixel-perfect Firefox touchpad scrolling
-export MOZ_USE_XINPUT2=1
+#######################################
+# Android SDK
+#######################################
+if [ -d "/opt/android-sdk" ]; then
+ export ANDROID_HOME="/opt/android-sdk"
+ export ANDROID_SDK_ROOT="/opt/android-sdk"
+ export PATH="$ANDROID_HOME/cmdline-tools/latest/bin:$PATH"
+ export PATH="$ANDROID_HOME/tools:$ANDROID_HOME/tools/bin:$PATH"
+ export PATH="$ANDROID_HOME/platform-tools:$ANDROID_HOME/emulator:$PATH"
+fi
-# Cmake
+#######################################
+# Misc
+#######################################
+export NVIM_TUI_ENABLE_TRUE_COLOR=1
+export GPG_TTY="$(tty)"
+export XDG_MENU_PREFIX="gnome-"
+export DEVELOPMENT_DIRECTORY="$HOME/code"
export PKG_CONFIG_PATH="/usr/local/lib64/pkgconfig:$PKG_CONFIG_PATH"
+# FZF + rg
+if command -v rg &>/dev/null; then
+ export FZF_DEFAULT_COMMAND="rg --files --hidden --glob '!{node_modules/*,.git/*}'"
+ export FZF_DEFAULT_OPTS='-m --height 50% --border'
+ export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND"
+fi
-# Scaling
-#export QT_AUTO_SCREEN_SCALE_FACTOR=0
-#export QT_SCALE_FACTOR=1
-#export QT_SCREEN_SCALE_FACTORS="1;1;1"
-#export GDK_SCALE=1
-#export GDK_DPI_SCALE=1
-
-## Prevent duplicate paths
-#typeset -U PATH path
-#
-## Default most programs to use fcitx global keyboard configurations
-#export GTK_IM_MODULE='fcitx'
-#export QT_IM_MODULE='fcitx'
-#export SDL_IM_MODULE='fcitx'
-#export XMODIFIERS='@im=fcitx'
-
+# Zoxide
+if command -v zoxide &>/dev/null; then
+ eval "$(zoxide init zsh)"
+fi
-# Start blinking
-export LESS_TERMCAP_mb=$(tput bold; tput setaf 2) # green
-# Start bold
-export LESS_TERMCAP_md=$(tput bold; tput setaf 2) # green
-# Start stand out
-export LESS_TERMCAP_so=$(tput bold; tput setaf 3) # yellow
-# End standout
-export LESS_TERMCAP_se=$(tput rmso; tput sgr0)
-# Start underline
-export LESS_TERMCAP_us=$(tput smul; tput bold; tput setaf 1) # red
-# End Underline
-export LESS_TERMCAP_ue=$(tput sgr0)
-# End bold, blinking, standout, underline
-export LESS_TERMCAP_me=$(tput sgr0).
+#######################################
+# Cleanup PATH (remove duplicates)
+#######################################
+typeset -U PATH path
diff --git a/common/config/zsh/.zshrc b/common/config/zsh/.zshrc
index 0ada4f5..0d66b62 100644
--- a/common/config/zsh/.zshrc
+++ b/common/config/zsh/.zshrc
@@ -11,6 +11,10 @@
# If not running interactively, and not being sourced, don’t do anything
[[ $- != *i* ]] && [[ "${BASH_SOURCE[0]:-${(%):-%N}}" == "$0" ]] && return
+if [ -n "$ZSH_VERSION" ] && [ -f "$HOME/.config/zsh/.zshenv" ]; then
+ . "$HOME/.config/zsh/.zshenv"
+fi
+
# Terminal key bindings
#stty intr '^q' # Free Ctrl+C for copy use Ctrl+Q instead for Interrupt
stty lnext '^-' # Free Ctrl+V for paste use Ctrl+- instead for Literal next
@@ -33,11 +37,6 @@ for zsh_source in "$HOME"/.config/zsh/user/*.zsh; do
ZSH_SOURCES+=("$zsh_source")
done
-# Source ZSH files
-for zsh_source in "${ZSH_SOURCES[@]}"; do
- source "$zsh_source"
-done
-
# Faster SSH
if [[ -n "$SSH_CLIENT" ]]; then
export KEYTIMEOUT=10
@@ -50,7 +49,13 @@ if [[ "${TERM_PROGRAM:-}" == "vscode" ]]; then
unset ARGV0
fi
+# Source ZSH files
+for zsh_source in "${ZSH_SOURCES[@]}"; do
+ source "$zsh_source"
+done
+
########## Source Plugins, should be last ##########
+#source /usr/share/nvm/init-nvm.sh
# Load fzf keybindings and completion if fzf is installed
if command -v fzf >/dev/null 2>&1; then