From e53503289adf851bbe6aad6298c7dad271b8c55e Mon Sep 17 00:00:00 2001 From: chrischristiansen-glitch Date: Sun, 24 May 2026 19:33:34 +0200 Subject: [PATCH] fix(boot): load nvm before launching gemini so PATH is correct in script subshell --- scripts/osvauco-opax-boot.sh | 41 ++++++++++++++++++++++++++++++------ 1 file changed, 35 insertions(+), 6 deletions(-) diff --git a/scripts/osvauco-opax-boot.sh b/scripts/osvauco-opax-boot.sh index b1ef77f..ddc39ae 100755 --- a/scripts/osvauco-opax-boot.sh +++ b/scripts/osvauco-opax-boot.sh @@ -24,6 +24,19 @@ FAIL="${RED}[XX]${NC}" SESSION_ID="$(date '+%Y%m%d-%H%M%S')" +# ============================================================================= +# Load nvm so node/npm/gemini are on PATH even when script runs as subshell +# ============================================================================= +export NVM_DIR="$HOME/.nvm" +# shellcheck source=/dev/null +[[ -s "$NVM_DIR/nvm.sh" ]] && source "$NVM_DIR/nvm.sh" +# Also check common system paths for gemini (e.g. symlinked to /usr/local/bin) +if ! command -v gemini &>/dev/null && [[ -d "$NVM_DIR" ]]; then + # nvm may not auto-select a version in non-interactive shells + NVM_DEFAULT=$(nvm version default 2>/dev/null || true) + [[ -n "$NVM_DEFAULT" ]] && nvm use "$NVM_DEFAULT" &>/dev/null || true +fi + clear cat << 'BANNER' @@ -74,6 +87,14 @@ else printf " $WARN GitHub CLI ${YELLOW}gh auth login (valgfritt)${NC}\n" fi +# Gemini CLI +if command -v gemini &>/dev/null; then + GEMINI_VER=$(gemini --version 2>/dev/null || echo "ukjent") + printf " $OK Gemini CLI ${DIM}%s${NC}\n" "$GEMINI_VER" +else + printf " $WARN Gemini CLI ${YELLOW}Ikke installert — kjør: npm install -g @google/gemini-cli${NC}\n" +fi + printf "\n" @@ -124,7 +145,6 @@ printf "\n" # ============================================================================= # SECTION 4: SESSION-LOGG -# Ber deg beskrive hva du skal gjøre — logger ved start og spør ved slutt # ============================================================================= mkdir -p "$(dirname "$SESSION_LOG")" @@ -134,7 +154,6 @@ printf " ${DIM}(skriv kort beskrivelse, trykk Enter)${NC}\n > " read -r SESSION_DESC [[ -z "$SESSION_DESC" ]] && SESSION_DESC="(ingen beskrivelse)" -# Skriv session-header til logg cat >> "$SESSION_LOG" << EOF --- @@ -161,7 +180,7 @@ printf "${DIM} ---------------------------------------------------${NC}\n\n" # ============================================================================= -# AVSLUTT-HOOK (kjøres når du er ferdig — skriv: opax-logg-slutt) +# AVSLUTT-HOOK # ============================================================================= opax-logg-slutt() { printf "\n ${BOLD}${CYAN}Sesjonslogg — avslutt${NC}\n" @@ -191,9 +210,19 @@ read -r -p " Starte Gemini-CLI nå? [y/N]: " ANSWER case "$ANSWER" in y|Y) echo - echo " [OSVauco] Starter Gemini-CLI fra ~/OSVauco..." - cd "$OSVAUCO_DIR" - gemini + if ! command -v gemini &>/dev/null; then + printf " ${RED}[XX]${NC} gemini ikke funnet.\n" + printf " Installer med:\n" + printf " curl -fsSL https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash\n" + printf " export NVM_DIR=\"\$HOME/.nvm\" && source \"\$NVM_DIR/nvm.sh\"\n" + printf " nvm install --lts\n" + printf " npm install -g @google/gemini-cli\n" + printf " ln -sf \$(which gemini) /usr/local/bin/gemini\n" + else + echo " [OSVauco] Starter Gemini-CLI fra ~/OSVauco..." + cd "$OSVAUCO_DIR" + gemini + fi ;; *) echo