# mk-tool-mac
- [mk-resource-macsetup-20230321](/DBkNG0YVRj6oHcPGFB7ojA)
- [cc-macsetup-steps](/w7qfRcUMRMqzRO4rRnKx3g)
## reference
---
tags: mk, resources
---
# mk-resource-mac-setup
- get through mac os screens, then
- connect to Harvard Secure
- open app store and install everything
- install homebrew
- don't forget to then enter the two lines near the end of the installers logs on newer Macs. They will look something like this:
```
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/YOUR_USER_ACCOUNT_NAME/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
```
- sign in to [Adobe](https://www.adobe.com) or [Creative Cloud](https://creativecloud.adobe.com/cc/), download and install (first Photoshop, then everything else through the Creative Cloud App)
- Photoshop
- Illustrator
- InDesign
- XD
- Premiere Pro
- After Effects
- Lightroom Classic
- Dimension
- Character Animator
- Audition
- Substance 3D Painter
- Substance 3D Sampler
- Substance 3D Designer
- Substance 3D Stager
- UXP Developer Tools?
- once homebrew is installed
- `brew install git`
- `brew install visual-studio-code`
- `brew install node`
- log in to github as learninglab-studio
- git clone `the-tools-21-22` or similar
```
cd the-tools-21-22
code .
```
- find your way to the mac setup scripts and run their elements
- `mainbrew.sh` has lines for most of the typical packages you'd install with homebrew, you can type them manually or tweak the script to your liking and then run it
-
## to-do
### did this time
- create storage drive
- commented out mysql
- ran some fonts only --fix this
- install unity version
- install unreal version
- install maxon
- then c4d
- redshift
- download unity templates
- download unreal projects and content
- houdini
- obs
- check in to obs-ndi and virtualcam?
- in blender
- add-ons => node wrangler on
- preferences => navigation => orbit around selection
- render path
- asset library path
- in unreal
- install engine
- create new project with assets in appropriate storage destination
- in unity
- install version
- install templates
### preferences not yet set
- power
- sidebar in finder
- screenshots not ideal just yet
-
### resources
https://support.apple.com/guide/terminal/edit-property-lists-apda49a1bb2-577e-4721-8f25-ffc0836f6997/mac
```
defaults write com.apple.Finder FXPreferredViewStyle xxxx
```
[good intro article on setting mac preferences](https://pawelgrzybek.com/change-macos-user-preferences-via-command-line/) that we should send people to if they haven't done this before.
[an ok article on defaults](https://www.shell-tips.com/mac/defaults/#gsc.tab=0) as backup
[Apple's own doc on changing plist from terminal](https://support.apple.com/guide/terminal/edit-property-lists-apda49a1bb2-577e-4721-8f25-ffc0836f6997/mac)
[location of plist for sidebars](https://discussions.apple.com/thread/251606267)---maybe one of those things that comes to exist after you do something? be sure to check before doing something!
[stack exchange comments that could be useful](https://apple.stackexchange.com/questions/392088/add-finder-sidebar-section-via-terminal)
# Mac Setup Scripts
[link to current scripts](https://github.com/learninglab-studio/the-tools-21-22/tree/main/tools/scripts/macsetup). Let's cut and paste some lines below?
### Utils
install [Homebrew](https://brew.sh/).
```
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
```
Then, on M1 macs, set in path by copying the two lines sent back which will have the structure (but may not be identical to) the following:
```
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/ll-studio/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
```
then you need git, node and a code editor
```
brew install git
brew install node
brew install visual-studio-code
```
Or if you prefer atom, `brew install atom`--but we're moving to vscode this year.
Once you have node installed you can set up your development folder and clone this repo:
```
cd ~
mkdir Development
cd Development
git clone https://github.com/learninglab-studio/the-tools-21-22.git
cd the-tools-21-22
npm install
```
Then you can add the scripts in the-tools-21-22 to your path (and fix your prompt) with these lines that add to your `.zshrc` file:
```
ZSHRC_PATH=~/.zshrc
cd ~/Development/the-tools-21-22/tools/scripts/ex
SCRIPTS_DIR=$(pwd)
echo "export PATH=/usr/local/bin:${SCRIPTS_DIR}:\$PATH" >> $ZSHRC_PATH
echo "PROMPT='%2~ %# '" >> $ZSHRC_PATH
```
open up an additional window and run additional `npm install` commands while your `brew install` commands are also running.
The next brew installs are
```
brew install ffmpeg
brew install awscli
brew install youtube-dl
brew install mysql
brew install google-chrome
brew install firefox
brew install vlc
brew install blender
brew install adobe-creative-cloud
brew install epic-games
brew install unity-hub
brew install clipgrab
brew tap heroku/brew && brew install heroku
brew install imagemagick
brew install exiftool
brew install spotify
brew install synologyassistant
brew install ableton-live-lite
brew install cycling74-max
```
The next npm installs are
```
npm install -g nodemon
# npm install -g express-generator
npm install -g m2s
npm install -g gif-machine
npm install -g ll-transcode-machine
npm install -g simple-rename-machine
npm install -g chalk
npm install -g figlet
npm install -g gatsby-cli
```
### App Store
- Davinci Resolve
- FCPX
- Motion
- Compressor
- Glyphs 2
- Marked 2
- FoldingText
- BetterSnapTool
- Slack
- Logic Pro X
- Xcode
- DaisyDisk
- Screenflow
- GarageBand
- Numbers
- Keynote
- Pages
- MS Word
- MS PowerPoint
- MS Excel
### Adobe
from installer that homebrew installed:
* Photoshop
* Lightroom Classic
* Lightroom
* After Effects
* Audition
* InDesign
* Illustrator
* Xd
* Premiere Pro
* Animate
* Character Animator
* Substance 3D Painter
* Substance 3D Designer
* Substance 3D Sampler
log in with ID as appropriate
### Misc web-based
* C4D and Maxon One
* Houdini
* Unreal (from installer brew installed)
* Unity (from installer brew installed)
* Ableton?
* Printer drivers
* Blackmagic ATEM software (both apps)
* Blackmagic Desktop Video
* Obsidian for macos
*
### Peripherals
- printer (don't put IPs in the repo)
### Fonts
- let's just put a few of the most commonly used here, but it would be nice to store all as an array
- remember the one or two packages that need to be installed first for some fonts
- here's an old list of [all the fonts](https://github.com/learninglab-studio/the-tools-21-22/blob/main/tools/scripts/macsetup/04a_lots_of_fonts.sh), but things change quickly in this zone. We should keep it small so we can keep it updated :)
### Atom Packages
-
```
#!/bin/bash
# uncomment if Atom not installed:
# brew cask install atom
echo "starting Atom package installs"
apm install document-outline
# apm install atom-html-preview
# apm install browser-plus
# apm install markdown-preview-plus
# apm install markdown-folding
apm install wordcount
apm install teletype
apm install file-icons
apm install atom-beautify
apm install minimap
apm install atom-clock
apm install autoclose-html
apm install language-ejs
apm install language-markdown
apm install react
apm install todo-show
apm install pigments
apm install linter-eslint
apm install project-manager
apm install highlight-selected
apm install expose
apm install compare-files
apm install color-picker
# apm install prettier-atom
# apm install atom-easy-jsdoc
apm install split-diff
apm install minimap-split-diff
echo "all done"
```
### Scriptable Preferences
- set all notifications from alert to banner?
- disable certain notifications?
```
# open FCPX to make sure the later prefs work
open -a "Final Cut Pro.app"
# power management for desktops
sudo pmset displaysleep 180
sudo systemsetup -setcomputersleep Never
# sudo pmset sleep 180
# sudo systemsetup -setcomputersleep 60
# Turn Off System Sleep Completely
# show all file extensions
defaults write NSGlobalDomain AppleShowAllExtensions -bool true
# show hidden files
defaults write com.apple.finder AppleShowAllFiles -bool YES && killall Finder
# show scroll bars only on scroll
defaults write NSGlobalDomain AppleShowScrollBars WhenScrolling
# save screenshots to desktop
mkdir ~/Desktop/screenshots
defaults write com.apple.screencapture location ~/Desktop/Screenshots
# make library visible
chflags nohidden ~/Library/
# Automatically hide and show the Dock, speed animation
defaults write com.apple.dock autohide -bool true
killall Dock
# show only active apps in dock
defaults write com.apple.dock static-only -bool true
killall Dock
# silent on startup
sudo nvram SystemAudioVolume=%00
# Enable tap to click (Trackpad) for this user and for the login screen
defaults write com.apple.driver.AppleBluetoothMultitouch.trackpad Clicking -bool true
defaults write com.apple.AppleMultitouchTrackpad Clicking -bool true
defaults -currentHost write NSGlobalDomain com.apple.mouse.tapBehavior -int 1
defaults write NSGlobalDomain com.apple.mouse.tapBehavior -int 1
# Enable 3-finger drag. (Moving with 3 fingers in any window "chrome" moves the window.)
defaults write com.apple.driver.AppleBluetoothMultitouch.trackpad TrackpadThreeFingerDrag -bool true
defaults write com.apple.AppleMultitouchTrackpad TrackpadThreeFingerDrag -bool true
# Expand save panel by default
defaults write NSGlobalDomain NSNavPanelExpandedStateForSaveMode -bool true
# Expand print panel by default
defaults write NSGlobalDomain PMPrintingExpandedStateForPrint -bool true
# Automatically quit printer app once the print jobs complete
# doesn't seem to be working
# defaults write com.apple.print.PrintingPrefs “Quit When Finished” -bool true
# Check for software updates daily, not just once per week
defaults write com.apple.SoftwareUpdate ScheduleFrequency -int 1
# Always open everything in Finder's column view.
defaults write com.apple.Finder FXPreferredViewStyle clmv
# Show icons for hard drives, servers, and removable media on the desktop
defaults write com.apple.finder ShowExternalHardDrivesOnDesktop -bool true
defaults write com.apple.finder ShowHardDrivesOnDesktop -bool true
defaults write com.apple.finder ShowMountedServersOnDesktop -bool true
defaults write com.apple.finder ShowRemovableMediaOnDesktop -bool true
# Automatically open a new Finder window when a volume is mounted
defaults write com.apple.frameworks.diskimages auto-open-ro-root -bool true
defaults write com.apple.frameworks.diskimages auto-open-rw-root -bool true
defaults write com.apple.finder OpenWindowForNewRemovableDisk -bool true
# Show status bar in Finder
defaults write com.apple.finder ShowStatusBar -bool true
# Enable the Develop menu and the Web Inspector in Safari
defaults write com.apple.Safari IncludeDevelopMenu -bool true
defaults write com.apple.Safari WebKitDeveloperExtrasEnabledPreferenceKey -bool true
defaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2DeveloperExtrasEnabled -bool true
# Display full POSIX path as Finder window title
defaults write com.apple.finder _FXShowPosixPathInTitle -bool true
# Disable the warning when changing a file extension
defaults write com.apple.finder FXEnableExtensionChangeWarning -bool false
# Prevent Time Machine from prompting to use new hard drives as backup volume
defaults write com.apple.TimeMachine DoNotOfferNewDisksForBackup -bool true
# Avoid creating .DS_Store files on network volumes
defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true
# Use plain text mode for new TextEdit documents
defaults write com.apple.TextEdit RichText -int 0
# Apps, disable App Nap for all apps
defaults write NSGlobalDomain NSAppSleepDisabled -bool true
# disable automatic capitalisation
defaults write NSGlobalDomain NSAutomaticCapitalizationEnabled -bool false
# disable smart quotes
defaults write NSGlobalDomain NSAutomaticQuoteSubstitutionEnabled -bool false
# screensaver
defaults -currentHost write com.apple.screensaver idleTime 1800
# show battery percentage in menu bar
defaults write com.apple.menuextra.battery ShowPercent -bool YES
# Disable Autocorrect
defaults write -g NSAutomaticSpellingCorrectionEnabled -bool false
# install FCPX first
defaults write -app "Final Cut Pro" FFDefaultStillDuration -int 2
defaults write -app "Final Cut Pro" FFImportCopyToMediaFolder -bool false
defaults write -app "Final Cut Pro" FFCreateOptimizedMediaForMulticamClips -bool false
# stop spotify from opening when you log in
defaults write com.spotify.client AutoStartSettingIsHidden -bool false
# Kill affected applications
for app in Finder Dock Mail Safari iTunes iCal Address\ Book SystemUIServer; do killall "$app" > /dev/null 2>&1; done
echo "Done. Note that some of these changes require a logout/restart to take effect."
```
### Unscriptable Preferences
move them to the above section if you can find the code for them
* in Finder
* show in sidebar
* home folder
* computer folder
* all drives
* Movies
* Music
* Developer
* in Blender
* in Logic
* download all sounds
* set up standard prefs
* in Garageband
* open at least once
* download all sounds
* add Learning Lab to "info" prefs
* in Terminal
* default shell? (if changing)
* background color, opacity
* font family and font size
* in FCPX
* we think the script took care of these, but confirm
* leave files in place on import
* do not render in background
* do not create optimized files for multicam clips
* add stills as an export option
* remove DVD, etc as export options
* github login
* heroku login
* ableton login
* Unity login
* Unreal login
* Spotify login
* adobe login (and installs, see above)
* xcode plugins and gists and shortcuts
* many of these are probably scriptable, and we don't have a great list of them. This is definitely a place for more thinking and working
## To Do
* get Dock on the left side
* maybe make Dock visible on public machines?
# mk-mac-setup-notes-20221108
## computer setup log
- update to monterey/ventura if needed
-
- erase all
- user name = color (and choose matching color animoji)
-
- volume names
- _system
- _work
- start app store working away
- prioritize Slack and FCPX
- change to animoji thing that matches color
- log in to github while . . .
- basics
- brew
- brew.sh
- git
- clone lls repo
- `brew install git`
- account: learninglab-studio
- `git clone https://github.com/learninglab-studio/ll-studio-bot.git`
- install the-tools-22-23 on MK's account
- code
- `brew install visual-studio-code`
- node
- `brew install node `
- .zshrc basics
- if there's no development folder:
`cd ~`
`mkdir Development`
- path to ex
- `ZSHRC_PATH=~/.zshrc
cd ~/Development/the-tools-22-23/scripts/ex
SCRIPTS_DIR=$(pwd)
echo "export PATH=/usr/local/bin:${SCRIPTS_DIR}:\$PATH" >> $ZSHRC_PATH
echo "PROMPT='%2~ %# '" >> $ZSHRC_PATH`
- editor = code
- in VSCode, install `code .` command
- prompt
- log in to secure wifi
- mainbrew.sh
- preferences.sh
- at some point after preferences.sh, restart
- need to be set in interface
- finder prefs
- show home folder
- new window opens in home folder
- some_fonts.sh
- npm_basics.sh
- after mainbrew.sh
- open Chrome and log in
- log in to hackmd, airtable
- adobe
- log in with appropriate color
- download the usuals, Ps first
- open at least Ps to confirm that it opens without colliding with other machines
- unity
- after mainbrew, hub should be installed. login and install newest editor
- then install nearly all of the templates (skipping only the 2-3 least useful ones)
- unreal
- install editor
- disable start on login
- maxon
- c4d is the priority
- but add the rest other than plural eyes ultimately
- open c4d to confirm
- after App Store
- log in to Slack
- open BetterSnapTool and give it permission, then set to open on startup
- open Garageband and install all sounds
- open Logic and set to complete mode and install all sounds
-
- resolve
- create `_work` volume before opening
- make `_work/_resolve` the only storage drive
- stills duration to 1 frame
- Spotify
- open, login (just with email and password, not with google)
- disable open on login
## next?
- sidefx
- other repos?
- sample content?
- unreal projects
- obs
- obs-ndi
- ndi tools
## todo for next time
- in preferences, add dock to bottom again and don't autohide
- issues with power and screen prefs in Ventura
- issues with AE c4d install colliding with Maxon in a different way this time
- try doing it in both orders
- editor = code