setup: add Claude Code module
Installs @anthropic-ai/claude-code via npm, sourcing nvm if npm is not already in PATH. Wired into tui-install.sh and install-modules.sh. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>main
parent
00e6d245ae
commit
b9b32c59c4
|
|
@ -84,6 +84,7 @@ run_module() {
|
||||||
count_steps() {
|
count_steps() {
|
||||||
local sel="$1"
|
local sel="$1"
|
||||||
TOTAL=0
|
TOTAL=0
|
||||||
|
[[ "$sel" == *"claude"* ]] && TOTAL=$(( TOTAL + 1 ))
|
||||||
[[ "$sel" == *"networking-cli"* ]] && TOTAL=$(( TOTAL + 1 ))
|
[[ "$sel" == *"networking-cli"* ]] && TOTAL=$(( TOTAL + 1 ))
|
||||||
[[ "$sel" == *"disk-recovery"* ]] && TOTAL=$(( TOTAL + 1 ))
|
[[ "$sel" == *"disk-recovery"* ]] && TOTAL=$(( TOTAL + 1 ))
|
||||||
[[ "$sel" == *"himalaya"* ]] && TOTAL=$(( TOTAL + 1 ))
|
[[ "$sel" == *"himalaya"* ]] && TOTAL=$(( TOTAL + 1 ))
|
||||||
|
|
@ -143,6 +144,7 @@ SELECTED=$(dialog --backtitle "$BACKTITLE" \
|
||||||
--title " Select Modules " \
|
--title " Select Modules " \
|
||||||
--checklist "Space toggles · Enter confirms · Arrow keys scroll" 40 76 32 \
|
--checklist "Space toggles · Enter confirms · Arrow keys scroll" 40 76 32 \
|
||||||
\
|
\
|
||||||
|
"claude" "Claude Code Anthropic CLI via npm" off \
|
||||||
"networking-cli" "Networking CLI nmap · nethogs · mitmproxy · httpie" off \
|
"networking-cli" "Networking CLI nmap · nethogs · mitmproxy · httpie" off \
|
||||||
"disk-recovery" "Disk Recovery ddrescue · f3" off \
|
"disk-recovery" "Disk Recovery ddrescue · f3" off \
|
||||||
"himalaya" "Himalaya terminal email client (AUR)" off \
|
"himalaya" "Himalaya terminal email client (AUR)" off \
|
||||||
|
|
@ -183,6 +185,7 @@ SELECTED=$(dialog --backtitle "$BACKTITLE" \
|
||||||
[[ -z "$SELECTED" ]] && { clear; echo "Nothing selected."; exit 0; }
|
[[ -z "$SELECTED" ]] && { clear; echo "Nothing selected."; exit 0; }
|
||||||
|
|
||||||
SUMMARY=""
|
SUMMARY=""
|
||||||
|
[[ "$SELECTED" == *"claude"* ]] && SUMMARY+=" ✦ Claude Code\n"
|
||||||
[[ "$SELECTED" == *"networking-cli"* ]] && SUMMARY+=" ✦ Networking CLI (nmap, nethogs, mitmproxy, httpie)\n"
|
[[ "$SELECTED" == *"networking-cli"* ]] && SUMMARY+=" ✦ Networking CLI (nmap, nethogs, mitmproxy, httpie)\n"
|
||||||
[[ "$SELECTED" == *"disk-recovery"* ]] && SUMMARY+=" ✦ Disk Recovery (ddrescue, f3)\n"
|
[[ "$SELECTED" == *"disk-recovery"* ]] && SUMMARY+=" ✦ Disk Recovery (ddrescue, f3)\n"
|
||||||
[[ "$SELECTED" == *"himalaya"* ]] && SUMMARY+=" ✦ Himalaya\n"
|
[[ "$SELECTED" == *"himalaya"* ]] && SUMMARY+=" ✦ Himalaya\n"
|
||||||
|
|
@ -225,6 +228,7 @@ dialog --backtitle "$BACKTITLE" \
|
||||||
|
|
||||||
count_steps "$SELECTED"
|
count_steps "$SELECTED"
|
||||||
|
|
||||||
|
[[ "$SELECTED" == *"claude"* ]] && run_module "Claude Code" "$APPS/claude.sh"
|
||||||
[[ "$SELECTED" == *"networking-cli"* ]] && run_module "Networking CLI" "$APPS/networking-cli.sh"
|
[[ "$SELECTED" == *"networking-cli"* ]] && run_module "Networking CLI" "$APPS/networking-cli.sh"
|
||||||
[[ "$SELECTED" == *"disk-recovery"* ]] && run_module "Disk Recovery" "$APPS/disk-recovery.sh"
|
[[ "$SELECTED" == *"disk-recovery"* ]] && run_module "Disk Recovery" "$APPS/disk-recovery.sh"
|
||||||
[[ "$SELECTED" == *"himalaya"* ]] && run_module "Himalaya" "$APPS/himalaya.sh"
|
[[ "$SELECTED" == *"himalaya"* ]] && run_module "Himalaya" "$APPS/himalaya.sh"
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
#!/bin/bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
if ! command -v npm &>/dev/null; then
|
||||||
|
export NVM_DIR="$HOME/.nvm"
|
||||||
|
[[ -s "$NVM_DIR/nvm.sh" ]] && source "$NVM_DIR/nvm.sh"
|
||||||
|
fi
|
||||||
|
|
||||||
|
npm install -g @anthropic-ai/claude-code
|
||||||
|
|
@ -94,6 +94,7 @@ count_steps() {
|
||||||
[[ "$c" == *"svc"* ]] && TOTAL=$(( TOTAL + 1 ))
|
[[ "$c" == *"svc"* ]] && TOTAL=$(( TOTAL + 1 ))
|
||||||
[[ "$c" == *"shell"* ]] && TOTAL=$(( TOTAL + 1 ))
|
[[ "$c" == *"shell"* ]] && TOTAL=$(( TOTAL + 1 ))
|
||||||
[[ "$c" == *"de"* && "$de" != "none" ]] && TOTAL=$(( TOTAL + 1 ))
|
[[ "$c" == *"de"* && "$de" != "none" ]] && TOTAL=$(( TOTAL + 1 ))
|
||||||
|
[[ "$a" == *"claude"* ]] && TOTAL=$(( TOTAL + 1 ))
|
||||||
[[ "$a" == *"networking-cli"* ]] && TOTAL=$(( TOTAL + 1 ))
|
[[ "$a" == *"networking-cli"* ]] && TOTAL=$(( TOTAL + 1 ))
|
||||||
[[ "$a" == *"disk-recovery"* ]] && TOTAL=$(( TOTAL + 1 ))
|
[[ "$a" == *"disk-recovery"* ]] && TOTAL=$(( TOTAL + 1 ))
|
||||||
[[ "$a" == *"himalaya"* ]] && TOTAL=$(( TOTAL + 1 ))
|
[[ "$a" == *"himalaya"* ]] && TOTAL=$(( TOTAL + 1 ))
|
||||||
|
|
@ -179,6 +180,7 @@ fi
|
||||||
SELECTED_APPS=$(dialog --backtitle "$BACKTITLE" \
|
SELECTED_APPS=$(dialog --backtitle "$BACKTITLE" \
|
||||||
--title " Applications " \
|
--title " Applications " \
|
||||||
--checklist "Optional applications — installed after base components:" 40 76 32 \
|
--checklist "Optional applications — installed after base components:" 40 76 32 \
|
||||||
|
"claude" "Claude Code Anthropic CLI via npm" off \
|
||||||
"networking-cli" "Networking CLI nmap · nethogs · mitmproxy · httpie" off \
|
"networking-cli" "Networking CLI nmap · nethogs · mitmproxy · httpie" off \
|
||||||
"disk-recovery" "Disk Recovery ddrescue · f3" off \
|
"disk-recovery" "Disk Recovery ddrescue · f3" off \
|
||||||
"himalaya" "Himalaya terminal email client (AUR)" off \
|
"himalaya" "Himalaya terminal email client (AUR)" off \
|
||||||
|
|
@ -225,6 +227,7 @@ SUMMARY=""
|
||||||
|
|
||||||
if [[ -n "$SELECTED_APPS" ]]; then
|
if [[ -n "$SELECTED_APPS" ]]; then
|
||||||
SUMMARY+="\n Applications:\n"
|
SUMMARY+="\n Applications:\n"
|
||||||
|
[[ "$SELECTED_APPS" == *"claude"* ]] && SUMMARY+=" ✦ Claude Code\n"
|
||||||
[[ "$SELECTED_APPS" == *"networking-cli"* ]] && SUMMARY+=" ✦ Networking CLI (nmap, nethogs, mitmproxy, httpie)\n"
|
[[ "$SELECTED_APPS" == *"networking-cli"* ]] && SUMMARY+=" ✦ Networking CLI (nmap, nethogs, mitmproxy, httpie)\n"
|
||||||
[[ "$SELECTED_APPS" == *"disk-recovery"* ]] && SUMMARY+=" ✦ Disk Recovery (ddrescue, f3)\n"
|
[[ "$SELECTED_APPS" == *"disk-recovery"* ]] && SUMMARY+=" ✦ Disk Recovery (ddrescue, f3)\n"
|
||||||
[[ "$SELECTED_APPS" == *"himalaya"* ]] && SUMMARY+=" ✦ Himalaya\n"
|
[[ "$SELECTED_APPS" == *"himalaya"* ]] && SUMMARY+=" ✦ Himalaya\n"
|
||||||
|
|
@ -282,6 +285,7 @@ if [[ "$COMPONENTS" == *"de"* && "$DE" != "none" ]]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# ── Installation: applications ────────────────────────────────────────────────
|
# ── Installation: applications ────────────────────────────────────────────────
|
||||||
|
[[ "$SELECTED_APPS" == *"claude"* ]] && run_module "Claude Code" "$APPS/claude.sh"
|
||||||
[[ "$SELECTED_APPS" == *"networking-cli"* ]] && run_module "Networking CLI" "$APPS/networking-cli.sh"
|
[[ "$SELECTED_APPS" == *"networking-cli"* ]] && run_module "Networking CLI" "$APPS/networking-cli.sh"
|
||||||
[[ "$SELECTED_APPS" == *"disk-recovery"* ]] && run_module "Disk Recovery" "$APPS/disk-recovery.sh"
|
[[ "$SELECTED_APPS" == *"disk-recovery"* ]] && run_module "Disk Recovery" "$APPS/disk-recovery.sh"
|
||||||
[[ "$SELECTED_APPS" == *"himalaya"* ]] && run_module "Himalaya" "$APPS/himalaya.sh"
|
[[ "$SELECTED_APPS" == *"himalaya"* ]] && run_module "Himalaya" "$APPS/himalaya.sh"
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue