123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- #!/bin/bash
- set -euo pipefail
- # Copyright (c) Contributors to the Open 3D Engine Project.
- # For complete copyright and license terms please see the LICENSE at the root of this distribution.
- #
- # SPDX-License-Identifier: Apache-2.0 OR MIT
- #
- BUILD_USER=$(aws ssm get-parameters --names "shared.builderuser" --region $region --with-decryption | ConvertFrom-Json)
- BUILD_PASS=$(aws ssm get-parameters --names "shared.builderpass" --region $region --with-decryption | ConvertFrom-Json)
- echo "Setting up ${BUILD_USER} as autologin admin"
- sudo sysadminctl -addUser "${BUILD_USER}" -fullName "${BUILD_USER}" -password "${BUILD_PASS}" -admin
- sudo echo "${BUILD_USER} ALL=(ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/${BUILD_USER}
- sudo /usr/bin/defaults write /Library/Preferences/com.apple.loginwindow autoLoginUser "${BUILD_USER}"
- echo "Change ownership for brew to ${BUILD_USER}"
- sudo chown -R "${BUILD_USER}":admin $(brew --prefix)/*
- echo "Configure SSH"
- mkdir /Users/"${BUILD_USER}"/.ssh
- echo "PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin" > /Users/"${BUILD_USER}"/.ssh/environment
- sudo sed -i -e 's/#PermitUserEnvironment no/PermitUserEnvironment yes/g' /etc/ssh/sshd_config
- sudo launchctl stop com.openssh.sshd && sudo launchctl start com.openssh.sshd
- echo "Expanding root volume to EBS configurated size"
- PDISK=$(diskutil list physical external | head -n1 | cut -d" " -f1)
- APFSCONT=$(diskutil list physical external | grep "Apple_APFS" | tr -s " " | cut -d" " -f8)
- yes | sudo diskutil repairDisk ${PDISK}
- sudo diskutil apfs resizeContainer ${APFSCONT} 0
- echo "Removing hibernate and sleep image"
- sudo pmset hibernatemode 0
- sudo rm -f /var/vm/sleepimage
- echo "Disable screensaver and sleep modes"
- macUUID=$(ioreg -rd1 -c IOPlatformExpertDevice | grep -i "UUID" | cut -c27-62)
- rm -rf /Users/"${BUILD_USER}"/Library/Preferences/com.apple.screensaver.${macUUID}.plist
- rm -rf /Users/"${BUILD_USER}"/Library/Preferences/ByHost/com.apple.screensaver.${macUUID}.plist
- rm -rf /Users/"${BUILD_USER}"/Library/Preferences/com.apple.screensaver.plist
- rm -rf /Users/"${BUILD_USER}"/Library/Preferences/ByHost/com.apple.screensaver.plist
- defaults write /Users/"${BUILD_USER}"/Library/Preferences/com.apple.screensaver.${macUUID}.plist idleTime -string 0
- defaults write /Users/"${BUILD_USER}"/Library/Preferences/com.apple.screensaver.${macUUID}.plist CleanExit "YES"
- defaults write /Users/"${BUILD_USER}"/Library/Preferences/ByHost/com.apple.screensaver.${macUUID}.plist idleTime -string 0
- defaults write /Users/"${BUILD_USER}"/Library/Preferences/ByHost/com.apple.screensaver.${macUUID}.plist CleanExit "YES"
- defaults write /Users/"${BUILD_USER}"/Library/Preferences/com.apple.screensaver.plist idleTime -string 0
- defaults write /Users/"${BUILD_USER}"/Library/Preferences/com.apple.screensaver.plist CleanExit "YES"
- defaults write /Users/"${BUILD_USER}"/Library/Preferences/ByHost/com.apple.screensaver.plist idleTime -string 0
- defaults write /Users/"${BUILD_USER}"/Library/Preferences/ByHost/com.apple.screensaver.plist CleanExit "YES"
- chown -R "${BUILD_USER}":staff /Users/"${BUILD_USER}"/Library/Preferences/ByHost/
- chown -R "${BUILD_USER}":staff /Users/"${BUILD_USER}"/Library/Preferences/
- killall cfprefsd
- # Set values to 0, to prevent sleep at all
- pmset -a displaysleep 0 sleep 0 disksleep 0
- echo "Disable automatic updates"
- sudo softwareupdate --schedule off
- defaults write com.apple.SoftwareUpdate AutomaticDownload -int 0
- defaults write com.apple.SoftwareUpdate CriticalUpdateInstall -int 0
- defaults write com.apple.commerce AutoUpdate -bool false
- defaults write com.apple.SoftwareUpdate AutomaticCheckEnabled -bool false
- echo "Additional NTP servers adding into /etc/ntp.conf file"
- cat > /etc/ntp.conf << EOF
- server 0.pool.ntp.org
- server 1.pool.ntp.org
- server 2.pool.ntp.org
- server 3.pool.ntp.org
- server time.apple.com
- server time.windows.com
- EOF
- # Set the timezone to UTC.
- echo "Setting timezone to UTC"
- ln -sf /usr/share/zoneinfo/UTC /etc/localtime
|