2022-04-17 20:52:22 +02:00
|
|
|
#!/bin/sh
|
|
|
|
|
2022-04-23 00:55:01 +02:00
|
|
|
# Path to your dotfiles.
|
|
|
|
export DOTFILES=$HOME/.dotfiles
|
2022-04-17 20:52:22 +02:00
|
|
|
|
|
|
|
echo "Setting up your Mac..."
|
|
|
|
|
|
|
|
# Check for Homebrew and install if we don't have it
|
|
|
|
if test ! $(which brew); then
|
|
|
|
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
|
|
|
|
2023-10-29 17:50:49 +01:00
|
|
|
echo 'eval "$(${HOMEBREW_PREFIX}/bin/brew shellenv)"' >> $HOME/.zprofile
|
|
|
|
eval "$(${HOMEBREW_PREFIX}/bin/brew shellenv)"
|
2022-04-17 20:52:22 +02:00
|
|
|
fi
|
|
|
|
|
|
|
|
# Update Homebrew recipes
|
|
|
|
brew update
|
|
|
|
|
|
|
|
# Install all our dependencies with bundle (See Brewfile)
|
|
|
|
brew tap homebrew/bundle
|
|
|
|
|
|
|
|
# Rosetta is required for microsoft teams
|
|
|
|
softwareupdate --install-rosetta
|
|
|
|
|
2023-10-29 17:50:49 +01:00
|
|
|
brew bundle --file ${DOTFILES}/macos/Brewfile
|
2022-04-17 20:52:22 +02:00
|
|
|
|
2022-05-21 22:03:56 +02:00
|
|
|
# Fix for https://github.com/Homebrew/homebrew-core/issues/74447
|
|
|
|
# gnupg is not really needed but marked as a dependency for pass
|
|
|
|
brew unlink gnupg
|
|
|
|
|
2022-04-22 23:54:51 +02:00
|
|
|
# Install pynvim for nvim
|
|
|
|
pip3 install --user pynvim
|
|
|
|
|
2023-10-29 17:50:49 +01:00
|
|
|
# Paths to openssl to build pecl extensions (swoole)
|
|
|
|
export PATH="${HOMEBREW_PREFIX}/opt/openssl@3/bin:$PATH"
|
|
|
|
export LDFLAGS="-L${HOMEBREW_PREFIX}/opt/openssl@3/lib"
|
|
|
|
export CPPFLAGS="-I${HOMEBREW_PREFIX}/opt/openssl@3/include"
|
|
|
|
export PKG_CONFIG_PATH="${HOMEBREW_PREFIX}/opt/openssl@3/lib/pkgconfig"
|
|
|
|
|
2022-04-17 20:52:22 +02:00
|
|
|
# Install PHP extensions with PECL
|
2023-10-29 17:50:49 +01:00
|
|
|
yes | pecl install imagick redis
|
2022-04-17 20:52:22 +02:00
|
|
|
|
|
|
|
# Symlink pcre2, so pecl can find it when installing / building (needed for swoole)
|
|
|
|
sudo mkdir -p /usr/local/include
|
2023-10-29 17:50:49 +01:00
|
|
|
sudo ln -s ${HOMEBREW_PREFIX}/include/pcre2.h /usr/local/include/
|
2022-04-17 20:52:22 +02:00
|
|
|
|
|
|
|
# Install swoole with all features
|
|
|
|
yes | pecl install swoole
|
|
|
|
|
|
|
|
# Install global Composer packages
|
2023-10-29 17:50:49 +01:00
|
|
|
${HOMEBREW_PREFIX}/bin/composer global require laravel/installer laravel/valet tightenco/takeout
|
2022-04-17 20:52:22 +02:00
|
|
|
|
|
|
|
# Install Laravel Valet
|
|
|
|
$HOME/.config/composer/vendor/bin/valet install
|
|
|
|
|
|
|
|
# Create a Sites directory
|
|
|
|
mkdir -p $HOME/git/clickbar
|
|
|
|
mkdir -p $HOME/git/konaktiva
|
|
|
|
mkdir -p $HOME/git/private
|
|
|
|
|
|
|
|
# Symlink the Mackup config file to the home directory
|
2023-10-29 17:50:49 +01:00
|
|
|
ln -s ${DOTFILES}/macos/.mackup.cfg $HOME/.mackup.cfg
|
2022-04-17 20:52:22 +02:00
|
|
|
|
2023-01-15 00:41:32 +01:00
|
|
|
# Activate asimov to automatically exclude node_modules from TM backup
|
|
|
|
sudo brew services start asimov
|
|
|
|
|
2022-04-17 20:52:22 +02:00
|
|
|
# Set macOS preferences - we will run this last because this will reload the shell
|
2023-10-29 17:50:49 +01:00
|
|
|
source ${DOTFILES}/macos/.macos
|
2022-04-17 20:52:22 +02:00
|
|
|
|
|
|
|
# Call the general install script to setup zsh etc.
|
|
|
|
source install.sh
|