Skip to content

Instantly share code, notes, and snippets.

@SAMFYB
Last active March 6, 2023 07:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save SAMFYB/b7ea61101157b3c6228ac203e8324bac to your computer and use it in GitHub Desktop.
Save SAMFYB/b7ea61101157b3c6228ac203e8324bac to your computer and use it in GitHub Desktop.
My process of setting up a new MacBook

My process of setting up a new MacBook

Recently my MacBook Pro mysteriously died overnight. Due to the current epidemic situation, I figured the best option at the moment is to purchase a new one. So, here comes a brand new 16-inch MacBook Pro. I never use Time Machine or iCloud for backup, so now is a great opportunity to document my setup process for a new machine. The applications and programs I would install reflect my day-to-day workflow. Some of these are for my classes and research; some are for general software development; and some are just for working efficiently with a MacBook.

Part 1: applications

  • Amphetamine: get it from App Store; it keeps Mac from automatically go to sleep
  • Spectrum: get it from App Store; I occasionally use it for web color design
  • Slack: get it from App Store and sign in via email
  • Kindle: get it from App Store and sign in through Amazon account
  • WeChat: get it from App Store; I mainly use WeChat on Mac for backing up chat history
  • Xcode: I don't do iOS/macOS dev, but I think sometimes other programs need it
  • delete GarageBand: I don't use it and it takes up space
  • delete iMovie: I don't use it
  • Firefox: get it from https://www.mozilla.org/en-US/firefox/new/
  • Chrome: get it from Google; I mainly use Firefox, but Chrome is sometimes useful for web dev
  • Intellij Ultimate: get it from https://account.jetbrains.com/licenses through student license
  • The Unarchiver: get it from App Store; I forget what this was for
  • Skype
  • Postman: hackathon essential? get it here https://www.postman.com/
  • Spotify: get it here https://www.spotify.com/us/
  • LastPass: get it from App Store; but most of the time I just use the Firefox extension
  • LastPass Firefox extension
  • Dropbox: this is my primary backup system
  • Sophos Home: this is school's recommended Mac security software
  • Visual Studio Code: I don't know when I would need it
  • Microsoft Office Suite: sign in to Microsoft and download the Office 365 apps
  • Java
  • MySQL: going to need it once in a while for some large web dev
  • Zoom: especially now with the epidemic situation and all classes online
  • Paragon NTFS: absolutely necessary for writing to NTFS format external drives
  • Adobe Creative Cloud and apps under my photography license
  • ExpressVPN or NordVPN - depending on which I have an active license for
  • Docker: going to probably need it for some serious dev work
  • R and RStudio: they are different things; need them for my research work

Part 2: shell set-up

First off, customize Terminal theme and settings. Then,

  1. Install oh-my-zsh with curl
  2. Install brew
  3. mkdir bin in home directory
  4. brew install wget
  5. ssh-keygen for git (git comes built-in, maybe check version)
  6. Add the new ssh key to GitHub
  7. git clone my dotfiles repository into ~/bin
  8. brew install npm (this also installs node)
  9. npm i -g tldr (this is a simpler version of man pages)
  10. rm .zshrc and ln -s ~/bin/dotfiles/.zshrc ~/.zshrc
  11. Install plugin git-open via oh-my-zsh
  12. git config --global user.name and my name
  13. git config --global user.email and my email
  14. Fix any remaining zsh and .zshrc problems
  15. ln -s ~/bin/dotfiles/.vimrc ~/.vimrc
  16. brew install lua and download and setup full_screen.* scripts
  17. brew install rlwrap
  18. Check python versions (both 2 and 3 should be built in)
  19. pip3 install --user --upgrade pip
  20. Optionally, upgrade python 3 to the latest version
  21. brew install tree
  22. brew install htop (better visualization than top)

Note to self: Most of the above steps can probably be automated. Write up a script then?

@SAMFYB
Copy link
Author

SAMFYB commented Jun 26, 2020

Step 2 requires admin privilege.
This affects Steps 4, 8, 16, 17, 21, 22.
Step 9 is also affected because .pkg installation for node requires admin privilege as well.

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