.dotfiles/install-mac.sh
Saibotk 1a24c00a4f
chore(macos): remove pynvim install
This is unused, since we are using lua plugins now and also does not work anymore, because Homebrew follows PEP668, which discourages installing packages without the package manager or outside of a venv.
2024-03-20 21:41:37 +01:00

65 lines
2 KiB
Bash
Executable file

#!/bin/sh
# Path to your dotfiles.
export DOTFILES=$HOME/.dotfiles
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)"
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> $HOME/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
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
brew bundle --file ${DOTFILES}/macos/Brewfile
# 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
# 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"
# Install PHP extensions with PECL
yes | pecl install imagick igbinary msgpack redis
# Symlink pcre2, so pecl can find it when installing / building (needed for swoole)
sudo mkdir -p /usr/local/include
sudo ln -s ${HOMEBREW_PREFIX}/include/pcre2.h /usr/local/include/
# Install swoole with all features
yes | pecl install swoole
# Install global Composer packages
${HOMEBREW_PREFIX}/bin/composer global require laravel/installer laravel/valet tightenco/takeout
# 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
# Activate asimov to automatically exclude node_modules from TM backup
sudo brew services start asimov
# Set macOS preferences - we will run this last because this will reload the shell
source ${DOTFILES}/macos/.macos
# Call the general install script to setup zsh etc.
source install.sh