Skip to content

Instantly share code, notes, and snippets.

@MattPostlethwaite
Last active February 20, 2023 12:56
Show Gist options
  • Save MattPostlethwaite/14445b10e98e8ea46682715a012803d3 to your computer and use it in GitHub Desktop.
Save MattPostlethwaite/14445b10e98e8ea46682715a012803d3 to your computer and use it in GitHub Desktop.
Mac Setup

Mac setup instructions

Installing apps with Homebrew

Step 1 - Installing Homebrew

Install Homebrew using:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Reference

Step 2 - Run the brew install script

  1. Download the brew-installs.sh script.
  2. Check that the script is executable by running ls -al. If the files isn't executable it will look something like this -rw-r-xr-x ... brew-installs.sh
  3. To make it executable, run chmod +x brew-installs.sh, which should now output as -rwxr-xr-x ... brew-installs.sh
  4. Now run the script using ./brew-installs.sh Note: if you're running this on a mac with the M1 chip, you'll need to run this script with a terminal using Rosetta 2

Set up ZSH (Optional)

Step 1 - Adding .zshrc file

Copy the .zshrc file into your user root directory cd ~

Step 2 - Install oh-my-zsh

Basic installation for ohmyzsh

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

Step 3 - Install powerline10k theme

Reference If you use the wizard to setup your powerline10k configuration then this step will update your .zshrc file.

Git Config

Substitute <USERNAME> and <EMAIL> with your own and run the following command sequence:

git config --global user.name <USERNAME> &&
git config --global user.email <EMAIL> &&
git config --global --list

Laravel Valet

To install Laravel Valet follow the installation instructions

PHP should have already been installed by the brew-installs.sh script. composer global require laravel/valet

# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc.
# Initialization code that may require console input (password prompts, [y/n]
# confirmations, etc.) must go above this block; everything else may go below.
if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
fi
# If you come from bash you might have to change your $PATH.
# export PATH=$HOME/bin:/usr/local/bin:$PATH
# Path to your oh-my-zsh installation.
export ZSH="/Users/matt/.oh-my-zsh"
# Path to you PHP installation
# export PATH=/Applications/MAMP/bin/php/php7.4.2/bin:$PATH
# export PATH=$PATH:/Applications/MAMP/Library/bin
# export PATH=$PATH:/Applications/MAMP/Library/bin/mysqldump
# export PATH=$PATH:/Applications/MAMP/Library/bin/mysql
# Java
export JAVA_HOME=jdk-install-dir
export PATH=$JAVA_HOME/bin:$PATH
# PostgreSQL
# export PATH=/Library/PostgreSQL/12/bin:$PATH
# Composer
alias composer="php /usr/local/bin/composer"
export PATH=.composer/vendor/bin:$PATH
# Set name of the theme to load --- if set to "random", it will
# load a random theme each time oh-my-zsh is loaded, in which case,
# to know which specific one was loaded, run: echo $RANDOM_THEME
# See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes
ZSH_THEME="powerlevel10k/powerlevel10k"
# powerlevel10k theme propts
# POWERLEVEL10k_LEFT_PROMPT_ELEMENTS=(dir)
# POWERLEVEL10k_RIGHT_PROMPT_ELEMENTS=(status root_indicator background_jobs history time)
# POWERLEVEL10k_RIGHT_PROMPT_ELEMENTS=(vcs)
# POWERLEVEL10k_SHORTEN_DIR_LENGTH=2
# POWERLEVEL10k_PROMPT_ADD_NEWLINE=true
# Set list of themes to pick from when loading at random
# Setting this variable when ZSH_THEME=random will cause zsh to load
# a theme from this variable instead of looking in ~/.oh-my-zsh/themes/
# If set to an empty array, this variable will have no effect.
# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )
# Uncomment the following line to use case-sensitive completion.
# CASE_SENSITIVE="true"
# Uncomment the following line to use hyphen-insensitive completion.
# Case-sensitive completion must be off. _ and - will be interchangeable.
# HYPHEN_INSENSITIVE="true"
# Uncomment the following line to disable bi-weekly auto-update checks.
# DISABLE_AUTO_UPDATE="true"
# Uncomment the following line to change how often to auto-update (in days).
# export UPDATE_ZSH_DAYS=13
# Uncomment the following line to disable colors in ls.
# DISABLE_LS_COLORS="true"
# Uncomment the following line to disable auto-setting terminal title.
# DISABLE_AUTO_TITLE="true"
# Uncomment the following line to enable command auto-correction.
# ENABLE_CORRECTION="true"
# Uncomment the following line to display red dots whilst waiting for completion.
# COMPLETION_WAITING_DOTS="true"
# Uncomment the following line if you want to disable marking untracked files
# under VCS as dirty. This makes repository status check for large repositories
# much, much faster.
# DISABLE_UNTRACKED_FILES_DIRTY="true"
# Uncomment the following line if you want to change the command execution time
# stamp shown in the history command output.
# You can set one of the optional three formats:
# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
# or set a custom format using the strftime function format specifications,
# see 'man strftime' for details.
# HIST_STAMPS="mm/dd/yyyy"
# Would you like to use another custom folder than $ZSH/custom?
# ZSH_CUSTOM=/path/to/new-custom-folder
# Which plugins would you like to load?
# Standard plugins can be found in ~/.oh-my-zsh/plugins/*
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(git gitfast zsh-autosuggestions zsh-syntax-highlighting)
source $ZSH/oh-my-zsh.sh
# source ~/.bash_profile
# User configuration
# export MANPATH="/usr/local/man:$MANPATH"
# You may need to manually set your language environment
# export LANG=en_US.UTF-8
# Preferred editor for local and remote sessions
# if [[ -n $SSH_CONNECTION ]]; then
# export EDITOR='vim'
# else
# export EDITOR='mvim'
# fi
# Compilation flags
# export ARCHFLAGS="-arch x86_64"
# ssh
# export SSH_KEY_PATH="~/.ssh/rsa_id"
# Set personal aliases, overriding those provided by oh-my-zsh libs,
# plugins, and themes. Aliases can be placed here, though oh-my-zsh
# users are encouraged to define aliases within the ZSH_CUSTOM folder.
# For a full list of active aliases, run `alias`.
#
# Example aliases
# alias zshconfig="mate ~/.zshrc"
# alias ohmyzsh="mate ~/.oh-my-zsh"
alias "code."="code ."
alias "c."="code ."
alias "c ."="code ."
alias "cd.."="cd .."
# SSH Alias
# alias ssh-{name}="ssh {user}@{host}"
# source /usr/local/opt/powerlevel10k/powerlevel10k.zsh-theme
export PATH="$HOME/.yarn/bin:$HOME/.config/yarn/global/node_modules/.bin:$PATH"
export NVM_DIR="$HOME/.nvm"
source $(brew --prefix nvm)/nvm.sh
# [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
# [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
#!/usr/bin/env bash
# Check if Homebrew is installed
which -s brew
if [[ $? != 0 ]] ; then
# Install Homebrew
echo 'Please install homebrew'
else
# Upgrade brew
brew update
# Save Homebrew's install location
BREW_PREFIX=$(brew --prefix)
# Install tools
brew install git
brew install nvm
brew install gulp-cli
brew install composer
brew install php
# Apps
brew install --cask google-chrome
brew install --cask homebrew/cask-versions/firefox-developer-edition
brew install --cask visual-studio-code
brew install --cask iterm2
brew install --cask slack
brew install --cask zoom
brew install --cask notion
brew install --cask dbngin
brew install --cask tableplus
brew install --cask figma
brew install --cask openvpn-connect
# Remove outdated versions from the cellar
brew cleanup
fi
#!/usr/bin/env bash
# Check if zsh is installed
which -s zsh
if [[ $? != 0 ]] ; then
# Install zsh
echo 'Please install zsh'
fi
# Install oh-my-zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# Install the zsh-syntax-highlighting
cd $HOME/.oh-my-zsh/plugins
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git
# Install the powerlink10k theme
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
Copy link

ghost commented Feb 20, 2023

  • Add valet to installer composer global require laravel/valet
  • Maybe phpstorm
  • add global composer to PATH to execute valet etc export PATH="$PATH:$HOME/.composer/vendor/bin"
  • run valet installer valet install

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment