From ca658dc20f30c610a300c1f7bf0717a1e64abfcc Mon Sep 17 00:00:00 2001 From: David Young Date: Tue, 29 Sep 2026 14:03:04 -0600 Subject: [PATCH] various fixes --- claude.sh | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++ install.sh | 4 ++++ packages.conf | 2 ++ 3 files changed, 67 insertions(+) create mode 100755 claude.sh diff --git a/claude.sh b/claude.sh new file mode 100755 index 0000000..eb368ea --- /dev/null +++ b/claude.sh @@ -0,0 +1,61 @@ +#!/bin/bash +# +# Purpose : Install Claude Code using the official native installer + +set -euo pipefail + +# Check if Claude Code is already installed +if command -v claude &>/dev/null; then + echo "Claude Code is already installed: $(claude --version)" +else + echo "Installing Claude Code..." + curl -fsSL https://claude.ai/install.sh | bash +fi + +# The native installer places the binary in ~/.local/bin +LINE='export PATH="$HOME/.local/bin:$PATH"' +if grep -qF "$LINE" ~/.bashrc; then + echo "~/.local/bin already on PATH in .bashrc" +else + echo "$LINE" >> ~/.bashrc + echo "~/.local/bin added to PATH in .bashrc" +fi + +# Desktop notifications via notify-send (libnotify) +SETTINGS_FILE="$HOME/.claude/settings.json" +if [ -f "$SETTINGS_FILE" ]; then + echo "Claude Code settings already exist at $SETTINGS_FILE" +else + echo "Writing Claude Code settings to $SETTINGS_FILE..." + mkdir -p "$(dirname "$SETTINGS_FILE")" + cat > "$SETTINGS_FILE" <<'EOF' +{ + "hooks": { + "Notification": [ + { + "matcher": "", + "hooks": [ + { + "type": "command", + "command": "notify-send 'Claude Code' 'Needs your input'" + } + ] + } + ], + "Stop": [ + { + "matcher": "", + "hooks": [ + { + "type": "command", + "command": "notify-send 'Claude Code' 'Task completed'" + } + ] + } + ] + } +} +EOF +fi + +echo "Done. Run 'claude' to log in and get started." diff --git a/install.sh b/install.sh index de0f31e..1c4e74d 100755 --- a/install.sh +++ b/install.sh @@ -150,6 +150,10 @@ cd ~/.local/share/coredesktop echo "Installing Kickstart Neovim..." . install-kickstart-nvim.sh +# Install Claude Code and configure desktop notification hooks +echo "Installing Claude Code..." +bash claude.sh + # Install Migrate Backup System curl -L -o migrate https://github.com/CyphrRiot/Migrate/raw/main/bin/migrate chmod +x migrate diff --git a/packages.conf b/packages.conf index 387a883..88d2386 100644 --- a/packages.conf +++ b/packages.conf @@ -26,11 +26,13 @@ SYSTEM_UTILS=( just lazydocker lazygit + libnotify libyaml lsd lsof man mc + mdns-tui-browser mtr nerdfetch net-tools