feat: mise, brew and fastfetch perf
This commit is contained in:
@@ -4,10 +4,7 @@ export XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-$HOME/.config}"
|
||||
export WORKSPACE="${WORKSPACE:-$HOME/Workspace}"
|
||||
export DOTFILES="${DOTFILES:-$HOME/.dotfiles}"
|
||||
|
||||
# Tool roots
|
||||
export NVM_DIR="${NVM_DIR:-$HOME/.config/nvm}"
|
||||
export PYENV_ROOT="${PYENV_ROOT:-$HOME/.pyenv}"
|
||||
export POETRY_ROOT="${POETRY_ROOT:-$HOME/.poetry}"
|
||||
# Homebrew
|
||||
export HOMEBREW_NO_ANALYTICS=1
|
||||
|
||||
# PATH setup with caching
|
||||
@@ -16,11 +13,7 @@ if [[ -f "$_dots_path_cache" && "$_dots_path_cache" -nt ~/.profile ]]; then
|
||||
export PATH="$(cat "$_dots_path_cache")"
|
||||
else
|
||||
[[ ":$PATH:" != *":$HOME/.local/bin:"* ]] && export PATH="$HOME/.local/bin:$PATH"
|
||||
[[ ":$PATH:" != *":$PYENV_ROOT/shims:"* ]] && export PATH="$PYENV_ROOT/shims:$PATH"
|
||||
[[ ":$PATH:" != *":$PYENV_ROOT/bin:"* ]] && export PATH="$PYENV_ROOT/bin:$PATH"
|
||||
[[ ":$PATH:" != *":$POETRY_ROOT/bin:"* ]] && export PATH="$POETRY_ROOT/bin:$PATH"
|
||||
[[ -x "/opt/homebrew/bin/brew" && ":$PATH:" != *":/opt/homebrew/bin:"* ]] && export PATH="/opt/homebrew/bin:/opt/homebrew/sbin:$PATH"
|
||||
[ -f "$NVM_DIR/alias/lts/jod" ] && export PATH="$NVM_DIR/versions/node/$(cat "$NVM_DIR/alias/lts/jod")/bin:$PATH"
|
||||
|
||||
# Cache the result
|
||||
mkdir -p "$(dirname "$_dots_path_cache")"
|
||||
|
||||
@@ -7,7 +7,7 @@ _dots_load_profile() { source "$HOME/.profile" }
|
||||
_dots_load_profile
|
||||
|
||||
_dots_setup_dirs() {
|
||||
mkdir -p "$XDG_DATA_HOME" "$XDG_CONFIG_HOME" "$HOME/.local/bin" "$WORKSPACE" "$NVM_DIR" "$_dots_cache_dir"
|
||||
mkdir -p "$XDG_DATA_HOME" "$XDG_CONFIG_HOME" "$HOME/.local/bin" "$WORKSPACE" "$_dots_cache_dir"
|
||||
}
|
||||
_dots_setup_dirs
|
||||
|
||||
@@ -333,47 +333,9 @@ _dots_prompt_init() {
|
||||
}
|
||||
_dots_prompt_init
|
||||
|
||||
# Lazy loading
|
||||
_dots_init_nvm() {
|
||||
unfunction nvm node npm npx yarn pnpm corepack 2>/dev/null
|
||||
[[ -s "$NVM_DIR/nvm.sh" ]] && source "$NVM_DIR/nvm.sh"
|
||||
[[ -s "$NVM_DIR/bash_completion" ]] && source "$NVM_DIR/bash_completion"
|
||||
_dots_load_mise() {
|
||||
command -v mise &>/dev/null && eval "$(mise activate zsh)"
|
||||
}
|
||||
|
||||
_dots_load_nvm_lazy() {
|
||||
local -a nvm_cmds=(nvm node npm npx yarn pnpm corepack)
|
||||
for cmd in "${nvm_cmds[@]}"; do
|
||||
eval "${cmd}() { _dots_init_nvm; ${cmd} \"\$@\" }"
|
||||
done
|
||||
}
|
||||
|
||||
_dots_init_pyenv() {
|
||||
unfunction pyenv python python3 pip pip3 poetry pipx 2>/dev/null
|
||||
if command -v pyenv &>/dev/null; then
|
||||
eval "$(pyenv init -)"
|
||||
eval "$(pyenv virtualenv-init -)" 2>/dev/null
|
||||
fi
|
||||
}
|
||||
|
||||
_dots_load_pyenv_lazy() {
|
||||
local -a pyenv_cmds=(pyenv python python3 pip pip3 poetry pipx)
|
||||
for cmd in "${pyenv_cmds[@]}"; do
|
||||
eval "${cmd}() { _dots_init_pyenv; ${cmd} \"\$@\" }"
|
||||
done
|
||||
}
|
||||
|
||||
_dots_setup_lazy_completions() {
|
||||
compdef '_dots_init_nvm; _npm' npm 2>/dev/null
|
||||
compdef '_dots_init_nvm; _node' node 2>/dev/null
|
||||
compdef '_dots_init_pyenv; _pip' pip 2>/dev/null
|
||||
compdef '_dots_init_pyenv; _python' python 2>/dev/null
|
||||
}
|
||||
|
||||
_dots_lazy_init() {
|
||||
_dots_load_nvm_lazy
|
||||
_dots_load_pyenv_lazy
|
||||
_dots_setup_lazy_completions
|
||||
}
|
||||
_dots_lazy_init
|
||||
_dots_load_mise
|
||||
|
||||
[[ -n "$ZSH_BENCH" ]] && zprof || true
|
||||
|
||||
Reference in New Issue
Block a user