Skip to content

Commit 033636d

Browse files
Copilotandrejusk
andcommitted
Add warning messages for shell initialization failures and version checks
Co-authored-by: andrejusk <[email protected]>
1 parent faf3395 commit 033636d

File tree

1 file changed

+52
-4
lines changed

1 file changed

+52
-4
lines changed

files/home/.profile

Lines changed: 52 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
# Helper function for warnings
2+
# -----------------------------------------------------------------
3+
_dots_warn() {
4+
echo "WARNING: $*" >&2
5+
}
6+
17
# xdg data & config
28
# -----------------------------------------------------------------
39
export XDG_DATA_HOME=${XDG_DATA_HOME:-"$HOME/.local/share"}
@@ -29,8 +35,14 @@ if [ -z "$NVM_DIR" ]; then
2935
fi
3036

3137
_dots_load_nvm() {
32-
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" --no-use
33-
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
38+
if [ -s "$NVM_DIR/nvm.sh" ]; then
39+
\. "$NVM_DIR/nvm.sh" --no-use || _dots_warn "Failed to load nvm.sh"
40+
else
41+
_dots_warn "nvm.sh not found at $NVM_DIR/nvm.sh"
42+
fi
43+
if [ -s "$NVM_DIR/bash_completion" ]; then
44+
\. "$NVM_DIR/bash_completion" || _dots_warn "Failed to load nvm bash_completion"
45+
fi
3446
}
3547
_dots_load_nvm
3648

@@ -41,6 +53,19 @@ if [ -f "$node_alias" ]; then
4153
if [[ ":$PATH:" != *":$node_bin_path:"* ]]; then
4254
export PATH="$node_bin_path:$PATH"
4355
fi
56+
57+
# Check Node.js version
58+
if command -v node &>/dev/null; then
59+
current_node_version=$(node --version 2>/dev/null)
60+
expected_node_version=$(cat "$node_alias" 2>/dev/null)
61+
if [ -n "$expected_node_version" ] && [ "$current_node_version" != "v$expected_node_version" ]; then
62+
_dots_warn "Node.js version mismatch: current=$current_node_version, expected=v$expected_node_version"
63+
fi
64+
else
65+
_dots_warn "Node.js not available in PATH"
66+
fi
67+
else
68+
_dots_warn "Node.js alias file not found: $node_alias"
4469
fi
4570
unset node_alias VERSION node_bin_path
4671

@@ -51,10 +76,31 @@ if [[ ":$PATH:" != *":$PYENV_ROOT/bin:"* ]]; then
5176
export PATH="$PYENV_ROOT/bin:$PATH"
5277
fi
5378
_dots_load_pyenv() {
54-
[ -x $(command -v pyenv) ] && eval "$(pyenv init --path)"
79+
if command -v pyenv &>/dev/null; then
80+
eval "$(pyenv init --path)" || _dots_warn "Failed to initialize pyenv"
81+
else
82+
_dots_warn "pyenv not found in PATH"
83+
fi
5584
}
5685
_dots_load_pyenv
5786

87+
# Check Python version
88+
if command -v python &>/dev/null; then
89+
current_python_version=$(python --version 2>&1 | awk '{print $2}')
90+
expected_python_version="3.13.7"
91+
if [ -n "$current_python_version" ] && [ "$current_python_version" != "$expected_python_version" ]; then
92+
_dots_warn "Python version mismatch: current=$current_python_version, expected=$expected_python_version"
93+
fi
94+
elif command -v python3 &>/dev/null; then
95+
current_python_version=$(python3 --version 2>&1 | awk '{print $2}')
96+
expected_python_version="3.13.7"
97+
if [ -n "$current_python_version" ] && [ "$current_python_version" != "$expected_python_version" ]; then
98+
_dots_warn "Python version mismatch: current=$current_python_version, expected=$expected_python_version"
99+
fi
100+
else
101+
_dots_warn "Python not available in PATH"
102+
fi
103+
58104
export POETRY_ROOT=${POETRY_ROOT:-"$HOME/.poetry"}
59105
if [[ ":$PATH:" != *":$POETRY_ROOT/bin:"* ]]; then
60106
export PATH="$POETRY_ROOT/bin:$PATH"
@@ -70,6 +116,8 @@ fi
70116
# -----------------------------------------------------------------------------
71117
_dots_load_brew() {
72118
export HOMEBREW_NO_ANALYTICS=1
73-
[ -x "/opt/homebrew/bin/brew" ] && eval "$(/opt/homebrew/bin/brew shellenv)"
119+
if [ -x "/opt/homebrew/bin/brew" ]; then
120+
eval "$(/opt/homebrew/bin/brew shellenv)" || _dots_warn "Failed to initialize homebrew"
121+
fi
74122
}
75123
_dots_load_brew

0 commit comments

Comments
 (0)