This commit is contained in:
Jason Pickens 2026-04-24 19:24:49 -05:00 committed by GitHub
commit 7bd1d9d970
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 40 additions and 15 deletions

View file

@ -1016,20 +1016,37 @@ setup_path() {
for SHELL_CONFIG in "${SHELL_CONFIGS[@]}"; do
if ! grep -v '^[[:space:]]*#' "$SHELL_CONFIG" 2>/dev/null | grep -qE 'PATH=.*\.local/bin'; then
echo "" >> "$SHELL_CONFIG"
echo "# Hermes Agent — ensure ~/.local/bin is on PATH" >> "$SHELL_CONFIG"
echo "$PATH_LINE" >> "$SHELL_CONFIG"
log_success "Added ~/.local/bin to PATH in $SHELL_CONFIG"
# Try to write, handling permission errors gracefully
if {
echo "" >> "$SHELL_CONFIG" 2>/dev/null && \
echo "# Hermes Agent — ensure ~/.local/bin is on PATH" >> "$SHELL_CONFIG" 2>/dev/null && \
echo "$PATH_LINE" >> "$SHELL_CONFIG" 2>/dev/null
}; then
log_success "Added ~/.local/bin to PATH in $SHELL_CONFIG"
else
log_warn "Could not write to $SHELL_CONFIG (not writable?)"
echo ""
log_info "Add ~/.local/bin to your PATH manually:"
log_info " $PATH_LINE"
echo ""
fi
fi
done
# fish uses fish_add_path instead of export PATH=...
if [ "$IS_FISH" = "true" ]; then
if ! grep -q 'fish_add_path.*\.local/bin' "$FISH_CONFIG" 2>/dev/null; then
echo "" >> "$FISH_CONFIG"
echo "# Hermes Agent — ensure ~/.local/bin is on PATH" >> "$FISH_CONFIG"
echo 'fish_add_path "$HOME/.local/bin"' >> "$FISH_CONFIG"
log_success "Added ~/.local/bin to PATH in $FISH_CONFIG"
# Try to write, handling permission errors gracefully
if {
echo "" >> "$FISH_CONFIG" 2>/dev/null && \
echo "# Hermes Agent — ensure ~/.local/bin is on PATH" >> "$FISH_CONFIG" 2>/dev/null && \
echo 'fish_add_path "$HOME/.local/bin"' >> "$FISH_CONFIG" 2>/dev/null
}; then
log_success "Added ~/.local/bin to PATH in $FISH_CONFIG"
else
log_warn "Could not write to $FISH_CONFIG"
log_info "Add manually: fish_add_path \"\$HOME/.local/bin\""
fi
fi
fi

View file

@ -314,15 +314,23 @@ else
fi
if [ -n "$SHELL_CONFIG" ]; then
# Touch the file just in case it doesn't exist yet but was selected
touch "$SHELL_CONFIG" 2>/dev/null || true
if ! echo "$PATH" | tr ':' '\n' | grep -q "^$HOME/.local/bin$"; then
if ! grep -q '\.local/bin' "$SHELL_CONFIG" 2>/dev/null; then
echo "" >> "$SHELL_CONFIG"
echo "# Hermes Agent — ensure ~/.local/bin is on PATH" >> "$SHELL_CONFIG"
echo 'export PATH="$HOME/.local/bin:$PATH"' >> "$SHELL_CONFIG"
echo -e "${GREEN}${NC} Added ~/.local/bin to PATH in $SHELL_CONFIG"
# Try to write, handling permission errors gracefully
if {
echo "" >> "$SHELL_CONFIG" 2>/dev/null && \
echo "# Hermes Agent — ensure ~/.local/bin is on PATH" >> "$SHELL_CONFIG" 2>/dev/null && \
echo 'export PATH="$HOME/.local/bin:$PATH"' >> "$SHELL_CONFIG" 2>/dev/null
}; then
echo -e "${GREEN}${NC} Added ~/.local/bin to PATH in $SHELL_CONFIG"
else
echo -e "${YELLOW}${NC} Could not write to $SHELL_CONFIG (not writable?)"
echo ""
echo -e "${CYAN}${NC} Add ~/.local/bin to your PATH manually:"
echo ""
echo -e " ${CYAN}export PATH=\"\$HOME/.local/bin:\$PATH\"${NC}"
echo ""
fi
else
echo -e "${GREEN}${NC} ~/.local/bin already in $SHELL_CONFIG"
fi