Skip to content

Instantly share code, notes, and snippets.

@dlwiii
Created December 31, 2025 20:22
Show Gist options
  • Select an option

  • Save dlwiii/eeff47384a97c7c31bd00294d2712f92 to your computer and use it in GitHub Desktop.

Select an option

Save dlwiii/eeff47384a97c7c31bd00294d2712f92 to your computer and use it in GitHub Desktop.
Linux Mint bootstrap - Dropbox + Claude Code
#!/bin/bash
#
# Linux Mint Bootstrap Script
# One command to go from fresh install to ready-to-work
#
# Usage: curl -fsSL https://raw.githubusercontent.com/dlwiii/dotfiles/main/bootstrap.sh | bash
#
set -e
DROPBOX_WORK_DIR="$HOME/Dropbox/Work/claude_work"
echo "=================================="
echo " Linux Mint Bootstrap"
echo "=================================="
echo ""
# Colors for output
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
info() { echo -e "${GREEN}[INFO]${NC} $1"; }
warn() { echo -e "${YELLOW}[WARN]${NC} $1"; }
error() { echo -e "${RED}[ERROR]${NC} $1"; exit 1; }
# Check we're on Linux Mint
if ! grep -q "Linux Mint" /etc/os-release 2>/dev/null; then
warn "This script is designed for Linux Mint. Proceeding anyway..."
fi
# Update package lists
info "Updating package lists..."
sudo apt update
# Install essential tools
info "Installing essential tools..."
sudo apt install -y curl wget git
# ----------------------------
# Install Dropbox
# ----------------------------
if command -v dropbox &> /dev/null; then
info "Dropbox already installed"
else
info "Installing Dropbox..."
# Download and install Dropbox daemon
cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86_64" | tar xzf -
# Install the CLI helper
sudo apt install -y python3-gpg
wget -O ~/dropbox.py "https://www.dropbox.com/download?dl=packages/dropbox.py"
chmod +x ~/dropbox.py
sudo mv ~/dropbox.py /usr/local/bin/dropbox
fi
# Start Dropbox if not running
if ! pgrep -x "dropbox" > /dev/null; then
info "Starting Dropbox..."
~/.dropbox-dist/dropboxd &
echo ""
echo "=========================================="
echo " Dropbox should open a browser window"
echo " Please log in to your Dropbox account"
echo "=========================================="
echo ""
# Wait for user to complete login
read -p "Press Enter after you've logged into Dropbox..."
fi
# Wait for claude_work folder to sync
info "Waiting for Dropbox to sync claude_work folder..."
echo "(This may take a few minutes)"
TIMEOUT=300 # 5 minutes
ELAPSED=0
while [ ! -d "$DROPBOX_WORK_DIR" ]; do
sleep 5
ELAPSED=$((ELAPSED + 5))
if [ $ELAPSED -ge $TIMEOUT ]; then
error "Timeout waiting for Dropbox sync. Please ensure claude_work folder exists in Dropbox."
fi
echo -n "."
done
echo ""
info "claude_work folder found!"
# ----------------------------
# Install Node.js (for Claude Code)
# ----------------------------
if command -v node &> /dev/null; then
info "Node.js already installed: $(node --version)"
else
info "Installing Node.js via NodeSource..."
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt install -y nodejs
fi
# ----------------------------
# Install Claude Code
# ----------------------------
if command -v claude &> /dev/null; then
info "Claude Code already installed"
else
info "Installing Claude Code..."
sudo npm install -g @anthropic-ai/claude-code
fi
# ----------------------------
# Done!
# ----------------------------
echo ""
echo "=========================================="
echo -e "${GREEN} Bootstrap Complete!${NC}"
echo "=========================================="
echo ""
echo "Next steps:"
echo " 1. cd $DROPBOX_WORK_DIR"
echo " 2. claude"
echo " 3. Log in to Claude when prompted"
echo ""
echo "Your Remmina connections are in:"
echo " $DROPBOX_WORK_DIR/linux_setup/remmina/"
echo ""
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment