2024-04-15 14:08:28 +02:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
# This script uses the unsupported installation method descripted here:
|
|
|
|
# https://docs.brew.sh/Installation#untar-anywhere-unsupported
|
|
|
|
|
|
|
|
# This makes it possible to run this script as root and non-interactive.
|
|
|
|
|
|
|
|
# Script must be run as root
|
|
|
|
if [ "$(id -u)" != "0" ]; then
|
|
|
|
echo "This script must be run as root. Exiting.." 1>&2
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
# Define current user and home directory
|
|
|
|
user=$(stat -f%Su /dev/console)
|
|
|
|
HOME=/Users/$user
|
|
|
|
|
|
|
|
# Create homebrew directory in /opt
|
|
|
|
cd /opt
|
|
|
|
mkdir ./homebrew
|
|
|
|
|
|
|
|
# Download and extract homebrew
|
|
|
|
curl -L https://github.com/Homebrew/brew/tarball/master | tar xz --strip 1 -C homebrew
|
|
|
|
|
|
|
|
# Change ownership to current user
|
|
|
|
chown -R $user /opt/homebrew
|
|
|
|
|
|
|
|
# Update brew
|
|
|
|
sudo -u $user /opt/homebrew/bin/brew update --force --quite
|
|
|
|
|
|
|
|
# Export env
|
|
|
|
echo "export PATH=$PATH:/opt/homebrew/bin" >> "$HOME/.zshrc"
|
|
|
|
|
|
|
|
## Optional: Install XCode Command Line Tools
|
|
|
|
|
|
|
|
# Temporary file to make 'softwareupdate' list the Command Line Tools
|
|
|
|
touch /tmp/.com.apple.dt.CommandLineTools.installondemand.in-progress
|
|
|
|
|
|
|
|
# Get the latest version of the Command Line Tools
|
2024-04-15 15:33:39 +02:00
|
|
|
latest=$(/usr/sbin/softwareupdate -l | grep -B 1 -E 'Command Line Tools' | awk -F '*' '/^ *\\*/ {print $2}' | sed -e 's/^ *Label: //' -e 's/^ *//' | sort -V | tail -n1)
|
2024-04-15 14:08:28 +02:00
|
|
|
|
|
|
|
# Install latest version
|
|
|
|
/usr/sbin/softwareupdate -i "${latest}"
|
|
|
|
|
|
|
|
# Set correct path
|
|
|
|
/usr/bin/xcode-select --switch /Library/Developer/CommandLineTools
|
|
|
|
|
|
|
|
# Delete temporary file
|
|
|
|
rm /tmp/.com.apple.dt.CommandLineTools.installondemand.in-progress
|
|
|
|
|
|
|
|
exit 0
|