Skip to content

Instantly share code, notes, and snippets.

@stephhazlitt
Last active March 17, 2024 04:11
Show Gist options
  • Star 7 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save stephhazlitt/eeaf102f93e7282a229150d37523b6c5 to your computer and use it in GitHub Desktop.
Save stephhazlitt/eeaf102f93e7282a229150d37523b6c5 to your computer and use it in GitHub Desktop.
Macbook Pro (M1 2020) Set-up

MacBook Pro M1 (2020) Set-Up πŸ‘©β€πŸ’»

This is Steph's "living" document with instructions/documentation of my set-up on a MacBook Pro M1 (2020), with a focus on #rstats data science and meta tools πŸ“Š

Point & Click Software πŸ–±

Software Set Up & Tweaks 🍽

MacBook πŸ’»

Safari πŸ¦’

  • Safari > Preferences > Advanced > Show full website address
  • Safari > Preferences > Advanced > Show Develop menu
  • Safari > View > Show status bar

Finder πŸ”Ž

  • Show dotfiles
    • one time: Cmd + Shift + .
    • to show them all the time: (from Terminal) defaults write com.apple.finder AppleShowAllFiles -bool YES; killall Finder
    • to hide them again: (from Terminal) defaults write com.apple.finder AppleShowAllFiles -bool NO; killall Finder

Alfred πŸ•΅οΈ

Demo and how to tailor the App in this YouTube video. "Register" the .Rproj file-type with Alfred:

  • Go to Alfred’s Preferences > Features > Default Results > Advanced
  • Drag any .Rproj file onto this space and then close

Homebrew πŸ§ƒ

Installed homebrew on a Macbook with M1/Apple Chip https://stackoverflow.com/questions/66666134/how-to-install-homebrew-on-m1-mac, and then immediately implemented this fix when homebrew bonked installing Git 😳 Homebrew/discussions#501

The biggest M1 difference seems to be setting the PATH to homebrew manually in your Terminal dot file, so putting export PATH=/opt/homebrew/bin:$PATH in ~.zshrc.

R & RStudio πŸ‡·

R Library

cd && mkdir Rlibrary
echo R_LIBS=~/Rlibrary >> .Renviron

RStudio Global Defaults

RStudio >> Tools >> Global Options >> General >> Basic:

  • untick Restore .RData into workspace at startup
  • Save workspace to .RData on exit: <NEVER>

RStudio >> Tools >> Global Options >> General >> Advanced:

  • tick Show .Last.value in environment listing

RStudio Terminal

RStudio >> Tools >> Global Options >> Terminal

  • new terminals open with:

R/RStudio & Homebrew

If R or RStudio are opened via the Terminal then the PATH to homebrew will be accessed via the ~.zshrc file. However, not if opened using the Dock. Add PATH="/opt/homebrew/bin:${PATH}" to your ~.Renviron file if you need R/RStudio to access homebrew.

LaTeX

Using LaTeX` distribution from {tinytex} which is built especially for using with R.

In R:

install.packages("tinytex")
tinytex::install_tinytex()

I had to implement this fix in the Terminal (to gain write access to /usr/local/bin) to install {tinytex} rstudio/tinytex#24.

I also had to implement this fix to get extrafont::font_import() to work wch/extrafont#88

remove.packages("Rttf2pt1")
remotes::install_version("Rttf2pt1", version = "1.3.8")

Git & GitHub πŸ—‚οΈ

Git: Install and Configure Git

brew install git
git config --global user.email firstname.lastname@email.ca
git config --global user.name "Firstname Lastname"
git config --global core.editor "nano"
git config --global credential.helper osxkeychain

GitHub: Set Up GitHub Authorization

install.packages("gitcreds")
library(gitcreds)
gitcreds_set()

First Git Push/Pull

Set default for Pull, I use the previous Git default (see SO issue with warning message & discussion/options)

git config pull.rebase false

I "vaccinated" my global gitignore with {usethis}'s git_vaccinate(), details here https://usethis.r-lib.org/reference/git_vaccinate.html

Some System Libraries for R Packages βš™οΈ

Xquartz

Xquartz is a graphics device for R

brew install xquartz

qpdf

Split, Combine and Compress PDF files using the {qpdf} R package, installing the C++ source library:

brew install qpdf

Magick & Friends

To build packages from source (i.e., new releases or development versions from GitHub):

brew install libsvg curl libxml2 boost

## imagemagick for command-line image manipulation and use of the 'magick' R package
brew install imagemagick

Mapshaper

## `rmapshaper` R package has a size limit

brew install node
npm install -g mapshaper

VS Code

Install Visual Studio Code and add in Extensions:

  • GitHub Pull Requests & Issues
  • Jupyter
  • Python, Pylance
  • R, R debugger
  • Markdown All in One
  • Path Autocomplete

Install R packages languageserver and httpgd and radian from Terminal pip3 install -U radian

Use Shift-Command-P in VSCode to Open Settings (setting.json) and/ or Keyboard Shortcuts (keybindings.json) to edit and personalize.

Python & JupyterLab

I use the Miniforge installation for arm64/Apple Silicon/M1. I downloaded the sh file, ran bash filename.sh in the Terminal and followed the prompts. I then used the UBC MDS Software stack install instructions for macOS for adding some Python packages using conda install.

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