Created
December 31, 2025 20:22
-
-
Save dlwiii/eeff47384a97c7c31bd00294d2712f92 to your computer and use it in GitHub Desktop.
Linux Mint bootstrap - Dropbox + Claude Code
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/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