feat: mise, brew and fastfetch perf

This commit is contained in:
2025-12-24 02:34:10 +02:00
parent be4a723859
commit b51f2e0b09
26 changed files with 178 additions and 324 deletions

View File

@@ -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")"

View File

@@ -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