├── .ssh └── config ├── LICENSE ├── README.md └── vscode-settings.json /.ssh/config: -------------------------------------------------------------------------------- 1 | Host * 2 | IgnoreUnknown UseKeychain 3 | AddKeysToAgent yes 4 | UseKeychain yes 5 | IdentityFile ~/.ssh/id_rsa 6 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2016 Grant Timmerman 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 💻🎁 New Computer Checklist 🎁💻 2 | 3 | A checklist and list of scripts I should run when getting a new computer or reinstalling OSX. 4 | 5 | It'll feel like a super fast, new machine! 6 | 7 | > Updated for macOS 13, M1 by Grant Timmerman 8 | 9 | Imagine your MacBook was stolen tomorrow. Or you started a new job with a new machine fresh off the press. Would you be able to recover your favorite settings? 10 | 11 | ## Getting Started 12 | 13 | You should have the following user/pass combinations ready: 14 | - Wifi password (OS setup) 15 | - Apple ID (OS setup) 16 | - LastPass (Password manager) 17 | - Phone – 2FA 18 | 19 | ## Performance 20 | 21 | **Computer performance is extremely important.** 22 | 23 | To do our jobs faster, we try to balance two things: 24 | - Use of applications to make our lives **easier** 25 | - Performance/Efficiency to make our lives **faster** 26 | 27 | ## System Preferences 28 | 29 | ### 🍎 General 30 | - Appearance: Dark 31 | - Accent color: Multicolor 32 | - Highlight color: Accent Color 33 | - Sidebar icon size: Small 34 | - [x] Allow wallpaper tinting in windows 35 | - Show scroll bars: Automatically based on mouse or trackpad 36 | - Click in the scroll bar to: Jump to the next page 37 | - Default web browser: Google Chrome 38 | - Prefer tabs: in full screen 39 | - [ ] Ask to keep changes when closing documents 40 | - [x] Close windows when quitting app 41 | - Recent items: None 42 | - [ ] Allow Handoff 43 | 44 | ### 🖥 Desktop & Screen Saver 45 | - Message: Start after: 1 hour 46 | - [x] Show with clock 47 | - Hot corner: bottom-left, put monitor to sleep 48 | - Screen Saver: Default 49 | - [ ] Use random screen saver 50 | 51 | ### 🚢 Dock & Menu Bar 52 | - Dock 53 | - Size: Smallest 54 | - [x] Magnification 55 | - Position on screen: Right 56 | - Minimize windows using: Scale effect 57 | - [x] Double-click on a window's title bar to zoom 58 | - [ ] Minimize windows into application icon 59 | - [ ] Animate opening applications 60 | - [x] Automatically hide and show the Dock 61 | - [x] Show indicators for open applications 62 | - [x] Show recent applications in Dock 63 | - Menu Bar 64 | - [ ] Automatically hide and show the menu bar on desktop 65 | - [x] Automatically hide and show the menu bar in full screen 66 | 🕒 Date & Time 67 | - Date & Time: Set date and time automatically 68 | - Time Zone: Set time zone automatically using current location 69 | - Clock 70 | - [x] Show date and time in menu bar 71 | - Time Options: Digital 72 | - Date options: 73 | - [x] Show the day of the week 74 | - [x] Show the date 75 | 76 | ### 🖲 Mission Control 77 | - [x] Automatically rearrage Spaces based on most recent use 78 | - [x] When switching to an applications, switch to a Space with open windows for the application 79 | - [ ] Group windows by application 80 | - [x] Displays have separate Spaces 81 | - Dashboard: Off 82 | - Mission Control: Ctrl + Opt + Cmd + Up 83 | - Application windows: Ctrl + Opt + Cmd + Down 84 | - Show Desktop: F11 85 | - Show Dashboard F12 86 | 87 | ### 🌐 Language & Region 88 | - Preferred languages 89 | - English - Primary 90 |  - 简体中文 - Chinese, Simplified 91 | - Region: United States 92 | - Calendar: Gregorian 93 | - Time format: [x] 24-Hour Time 94 | 95 | ### 🔒 Security & Privacy 96 | - General 97 | - [x] Require password for 1 minute after sleep or screen saver begins 98 | - Allow apps downloaded from: Mac App Store and identified developers 99 | - Privacy 100 | - Allow the apps below to control your computer: (when downloaded) 101 | - Google Chrome (https://www.google.com/chrome/browser/features.html) 102 | - Moom (https://itunes.apple.com/us/app/moom/id419330170?mt=12) 103 | - Allow the app to control your computer via System Preferences > Security & Privacy 104 | 105 | ### 🔍 Spotlight 106 | - Only the following: 107 | - Folders 108 | - PDF Documents 109 | - System Preferences 110 | 111 | ### 🔔 Notifications 112 | - Allow Notifications: Banners 113 | - [x] Show notifcations on lock screen 114 | - [x] Show in Notification Center 115 | 116 | ### 📺 Display 117 | - Default for display 118 | - [x] Automatically adjust brightness 119 | - [x] True Tone 120 | - Refresh Rate: ProMotion 121 | 122 | ### 🔌 Battery 123 | - Turn display off after 15 minutes 124 | - [x] Put hard disks to sleep when possible 125 | - [x] Slightly dim the display while on battery power 126 | - [ ] Optimize video streaming while on battery 127 | - [x] Optimized battery charging 128 | - [x] Show battery status in menu bar 129 | - [ ] Low power mode 130 | 131 | ### ⌨ Keyboard 132 | - Key Repeat - 2nd to fastest 133 | - Delay Until Repeat - 3rd tick from left 134 | - [x] Adjust keyboard brightness in low light 135 | - [ ] Turn off when computer is not used 136 | - [x] Show Keyboard, Emoji, & Symbol Viewers in menu bar 137 | - [x] Use all F1, F2, etc. 138 | 139 | ### 🖱 Mouse 140 | - Tracking speed: Fastest 141 | - (you can increase it beyond this by doing this http://apple.stackexchange.com/questions/15210/how-to-increase-tracking-speed-beyond-the-maximum) 142 | - Scrolling speed: 4th tick from left 143 | - Double-Click speed: 2nd tick from right 144 | - Primary mouse button: Left 145 | 146 | ### ⬜ Trackpad 147 | - Point & Click 148 | - [ ] Look up & data detectors 149 | - [x] Secondary click 150 | - [x] Tap to click 151 | - Click: Medium 152 | - Tracking speed: 2nd to last tick 153 | - [x] Force Click and haptic feedback 154 | - Scroll & Zoom 155 | - [x] Scroll direction 156 | - [x] Zoom in or out 157 | - [x] Smart zoom 158 | - [x] Rotate 159 | - More Gestures 160 | - [x] Swipe between pages 161 | - [x] Swipe between full-screen apps 162 | - [x] Notification Center 163 | - [x] Mission Control 164 | - [x] App Exposé 165 | - [x] Launchpad 166 | - [x] Show Desktop 167 | 168 | ### 🖨 Printers & Scanners - Nothing special 169 | 170 | ### 🔊 Sound 171 | - Nothing special 172 | - [x] Show volume in menu bar 173 | 174 | ### ☁️/🌐 iCloud / Internet Accounts 175 | 176 | - Uncheck all besides hardware settings. Use G Suite, Chrome, and Google Photos instead. 177 | - [x] Keychain 178 | - [x] Find My Mac 179 | 180 | Ignore all those scary warnings and click "Remove from Mac". 181 | 182 | ### 💎 Extensions 183 | - DON'T DOWNLOAD DRIVE OR DROPBOX 184 | - Actions: Not enabled 185 | - Finder: Not enabled 186 | - Share Menu: Mail, AirDrop, Messages 187 | - Today: Not enabled 188 | 189 | ### 🕸 Network 190 | - Show Wi-Fi status in menu bar 191 | - Advanced 192 | - Nothing really different besides default 193 | - DNS Servers 194 | - 192.168.0.1 195 | 196 | ### 📲 Blootooth 197 | - Turn Bluetooth Off 198 | - [ ] Show Bluetooth in menu bar 199 | 200 | ### 👫 Sharing 201 | - Nothing should be on 202 | 203 | ### 👤 Users & Groups 204 | - Grant Timmerman - Admin 205 | - Avatar: Fox 206 | - Other Users - Guest User - Off 207 | 208 | ### 🕰 Time Machine: Off 209 | 210 | ### 💬 Accessibility 211 | - VoiceOver: Disabled 212 | - Zoom 213 | - [x] Use keyboard shortcuts to zoom 214 | - [ ] Use scroll gesture with modifier keys to zoom 215 | - Zoom style: Full screen 216 | - Advanced 217 | - Maximum Zoom: 0 218 | - Minimum Zoom: 0 219 | - When zoomed in, the screen image moves: Continuously with pointer 220 | - Display 221 | - [ ] Invert colors 222 | - [ ] Use grayscale 223 | - [ ] Differentiate without color 224 | - [ ] Increase contrast 225 | - [ ] Reduce transparency (you could add this if you want) 226 | - Display Contrast: Left-most tick 227 | - Pointer 228 | - Pointer Size: 2nd tick from left 229 | - [x] Shake mouse pointer to locate 230 | - Descriptions: Disabled 231 | - Captions: Default 232 | - Audio: None 233 | - Keyboard: All disabled 234 | - Mouse & Trackpad 235 | - [x] Spring-loaded delay: middle 236 | - Switch Control: Default 237 | - Dictation: None 238 | 239 | ## 🖥 Applications 240 | 241 | > OPTIONAL: Any application that you have pinned constantly should be converted to a native app 242 | - https://github.com/jiahaog/nativefier `sudo npm install nativefier -g` 243 | - Applications +(Less tabs, more isolation), -(Links don't work) 244 | - SoundCloud: `nativefier --name "SoundCloud" soundcloud.com` 245 | - Google Chat: `nativefier --name "Hangouts Chat" chat.google.com` 246 | 247 | ### 📂 Finder 248 | - in folders, right-click, View > as List 249 | - Finder > Preferences 250 | - Sidebar 251 | - Favorites 252 | - [ ] All My Files 253 | - [ ] iCloud Drive 254 | - [ ] AirDrop 255 | - [x] Applications 256 | - [x] Desktop 257 | - [x] Documents 258 | - [x] Downloads 259 | - [ ] Movies 260 | - [ ] Music 261 | - [ ] Pictures 262 | - [ ] granttimmerman 263 | - Shared 264 | - [ ] Back to My Mac 265 | - [ ] Connected Servers 266 | - [ ] Bonjour computers 267 | - Devices 268 | - [x] Grant's MacBook Pro 269 | - [ ] Hard disks 270 | - [x] External disks 271 | - [x] CDs, DVDs, and iPods 272 | - Tags 273 | - [ ] Recent tags 274 | - Advanced 275 | - [x] Show all filename extensions 276 | - [ ] Show warning before changing extension 277 | - [ ] Show warning before emptying the Trash 278 | - When performing a search: Search the Current Folder 279 | 280 | ### ⬛ Terminal Settings 281 | - Download my settings here: https://github.com/grant/iterm-profile 282 | - Set as default iterm settings 283 | - Setup https://github.com/romkatv/powerlevel10k 284 | - Copy `.ssh` folder from this repo. 285 | - Generate a key and [add it to GitHub](https://help.github.com/en/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent): 286 | - ```sh 287 | ssh-keygen -t rsa -b 4096 -C "your-email@example.com" 288 | eval "$(ssh-agent -s)" 289 | /usr/bin/ssh-add -K ~/.ssh/id_rsa 290 | pbcopy < ~/.ssh/id_rsa.pub 291 | ``` 292 | - Use GitHub UI to add public key to GH 293 | - [iTerm](https://www.iterm2.com/) - Terminal 294 | - General 295 | - Startup 296 | - Use System Window Restoration Setting 297 | - Closing 298 | - [ ] Quit when all windows are closed 299 | - [x] Confirm closing multiple sessions 300 | - [x] Confirm "Quit iTerm2 (⌘Q)" command 301 | - Magic 302 | - Instant Replay uses [4] MB per session 303 | - [ ] Save copy/paste and command history to disk 304 | - Services 305 | - [ ] Add Bonjour hosts to Profiles 306 | - [x] Check for updates automatically 307 | - [ ] Prompt for test-release updates 308 | - Preferences 309 | - [ ] Load preferences from custom folder or URL 310 | - Selection 311 | - [x] Copy to pasteboard on selection 312 | - [ ] Copied text includes trailing newline 313 | - [ ] Applications in terminal may access clipboard 314 | - Window 315 | - [ ] Smart window placement 316 | - [x] Adjust window when changing font size 317 | - [ ] Zoom maximizes vertically only 318 | - [x] Native full screen windows 319 | - tmux integration 320 | - Open tmux windows as native windows 321 | - ... 322 | - Appearance 323 | - Tabs 324 | - Tab bar location: Top 325 | - Theme: Dark 326 | - [x] Show tab bar even when there is only one tab 327 | - [x] Show tab numbers 328 | - [x] Show tab close buttons 329 | - [x] Show activity indicator 330 | - [x] Show new-output indicator 331 | - [x] Show tab bar in fullscreen 332 | - Panes 333 | - [x] Show per-pane title bar with split panes 334 | - Screen 335 | - [ ] Auto-hide menu bar in non-native fullscreen 336 | - Window & Tab Titles 337 | - [x] Show window number 338 | - [x] Show current job name 339 | - [ ] Show profile name 340 | - Dimming 341 | - [ ] Dimming affects only text, not background. 342 | - Dimming amount: 1/4 Minimal 343 | - [x] Dim inactive split panes 344 | - [x] Dim background windows 345 | - Window 346 | - [ ] Show border around window 347 | - [ ] Hide scrollbars 348 | - [ ] Disable transparency for fullscreen windows by default 349 | - Profiles 350 | - General 351 | - Basics 352 | - Name: ? 353 | - Command 354 | - [x] Login shell 355 | - Working Directory 356 | - [x] Reuse previous session's directory 357 | - Colors 358 | - Use the defaults for everything besides the following 359 | - Selection: ff8000 360 | - Minimum contrast: min 361 | - Text 362 | - Cursor 363 | - [x] Vertical bar 364 | - [x] Blinking cursor 365 | - Text Rendering 366 | - [x] Draw bold text in bold font 367 | - [x] Draw bold text in bright colors 368 | - [ ] Blinking text allowed 369 | - [x] Italic text allowed 370 | - Defaults for other things 371 | - Window 372 | - Transparency: 1/4 from left 373 | - [x] Blur: 1/2 from left 374 | - Defaults for everything else 375 | - Scroll 376 | - Scrollback Lines: 50000 377 | - Defaults for everything else 378 | - Session, Keys, Advanced 379 | - Defaults 380 | - Preferences 381 | - Terminal 382 | - Shell Integration 383 | - [ ] Insert newline before start of a command prompt if needed 384 | - [ ] Show mark indicators 385 | 386 | ### 🌐 [Chrome](https://www.google.com/chrome/browser/desktop/index.html?brand=CHBD&gclid=CjwKEAiA94nCBRDxismumrL83icSJAAeeETQYOf76erQPwAxn-3VFJoyB4jKG8rRaojywrA5DvKOjxoC-Ofw_wcB)/[FF](https://www.mozilla.org/en-US/firefox/new/?utm_source=google&utm_medium=paidsearch&utm_campaign=sitelink&utm_term=download%20firefox&gclid=CjwKEAiA94nCBRDxismumrL83icSJAAeeETQ083MCGKGd4nl3St2NhpixoUvlbAvbJIU0zwHss-RaxoCpC7w_wcB) - Web browser 387 | - Log in to Chrome profile 388 | - Chrome Extensions (chrome://extensions/) 389 | - Adblock Plus 390 | - Checker Plus for Gmail 391 | - Checker Plus for Google Calendar 392 | - GoFullPage - Full Page Screen Capture 393 | - Hacker News Collapsible Comments 394 | - JSON Formatter 395 | - LastPass: Free Password Manager 396 | - Refined GitHub 397 | - Save as PDF 398 | - Tab Pinner (Keyboard Shortcuts) 399 | - Tab Size on GitHub 400 | - Video Speed Controller 401 | - WhatFont 402 | - [Open email in Gmail instead of Apple Mail](https://blog.hubspot.com/marketing/set-gmail-as-browser-default-email-client-ht#sm.0000orlgqi4b7e33zxa10x3lz8ehe) 403 | - Display density: compact 404 | 405 | ### ↔️ [Moom](manytricks.com/moom/) - Window Management 406 | 407 | - General 408 | - Launch on login 409 | - Show preferences on launch 410 | - Run as faceless application 411 | - Keyboard 412 | ![https://cloud.githubusercontent.com/assets/744973/20869168/67cc16b0-ba21-11e6-9c03-c06f44e32d39.png](https://cloud.githubusercontent.com/assets/744973/20869168/67cc16b0-ba21-11e6-9c03-c06f44e32d39.png) 413 | 414 | ### 🖼 Images/GIFs 415 | 416 | - [Screen Studio](https://www.screen.studio/) - Create HQ GIFs with smooth animations 417 | - [Giphy Capture](https://giphy.com/apps/giphycapture) - Create GIFs 418 | - [KeyCastr](https://github.com/keycastr/keycastr) - `brew install --cask keycastr` 419 | - Screenshots: 420 | - Open `screenshot.app`, options, save to `~/screenshots`. 421 | 422 | ## 🚢 Dock 423 | 424 | - Remove all but the following: 425 | - Finder 426 | - Chrome 427 | - iTerm 428 | - VS Code 429 | 430 | ## 🚀 Launchpad 431 | 432 | - This will be cluttered, but uninstall anything not relevant. 433 | - Put all pre-installed apps in folders 434 | 435 | ## 🐚 Shell Software 436 | 437 | - Download personal dotfiles: https://github.com/grant/dotfiles 438 | - Download Homebrew: `ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"` 439 | ```sh 440 | git config --global user.name "YOUR NAME" 441 | git config --global user.email "YOUR EMAIL ADDRESS" 442 | git config --global pull.ff only 443 | git config --global push.default current 444 | git config --global help.autocorrect 1 445 | git config --global --add --bool push.autoSetupRemote true 446 | 447 | ``` 448 | - `bat`: `brew install bat` – `cat` is `bat` with syntax highlighting 449 | - `gh`: `brew install gh` – GitHub CLI 450 | 451 | - Setup OSX defaults 452 | ```sh 453 | ## All scripts not effective until Finder and Dock are restarted (see below) 454 | 455 | ## Speed up exposé animation 456 | defaults write com.apple.dock expose-animation-duration -float 0.1 && killall Dock 457 | ## Show hidden files in finder 458 | defaults write com.apple.finder AppleShowAllFiles -bool YES && killall Finder 459 | ## Disable animation for Get Info window 460 | defaults write com.apple.finder DisableAllAnimations -bool true 461 | ## No .DS_Store files 462 | defaults write com.apple.desktopservices DSDontWriteNetworkStores true 463 | # Disable "Last Login" 464 | touch .hushlogin 465 | 466 | ## !!! Commit changes by running the following 467 | killAll Finder && killAll Dock 468 | ``` 469 | 470 | ## Programming Languages 471 | 472 | - Node: https://nodejs.org/en/download/ 473 | - Golang: https://golang.org/dl/ 474 | - Java: https://www.oracle.com/java/technologies/javase-downloads.html 475 | - .NET Core: https://dotnet.microsoft.com/download 476 | - Python: Already preinstalled 477 | - Ruby: Already preinstalled 478 | - PHP: `brew install httpd php72` 479 | 480 | ## 📝 Fonts 481 | 482 | - [Fira Code](https://github.com/tonsky/FiraCode) 483 | ```sh 484 | brew tap homebrew/cask-fonts 485 | brew install font-fira-code 486 | ``` 487 | 488 | ## 🖥 Hardware (Ideal dev computer) 489 | 490 | - MBP M* Pro 491 | - 16GB+ RAM 492 | - Flash storage 493 | 494 | ## 🛃 Rules 495 | 496 | - Don't install anything else to increase performance. 497 | - Dropbox 498 | - Drive 499 | - Adobe Suite (Photoshop, Acrobat, ...) 500 | - GoToMeeting 501 | - Keybase 502 | - Kindle 503 | - Dash 504 | - Tableau 505 | - No games. Use a different computer 506 | - Steam 507 | - Battle.net/Blizzard 508 | - Wineskin 509 | - Thalmic labs 510 | 511 | # Tips and tricks 512 | 513 | - https://blog.sindresorhus.com/macos-tips-tricks-13046cf377f8#.bw4vdg7q4 514 | 515 | # 🗑️ Deprecated Software 516 | 517 | - Use of anything related to iCloud. 518 | - 📝 [Sublime](https://www.sublimetext.com/3) - Text editor 519 | - 📝 [Webstorm](https://www.jetbrains.com/webstorm/) - Web IDE 520 | - ⚡ [Messenger](https://fbmacmessenger.rsms.me/) 521 | - ↔️ [QuickSilver](https://qsapp.com/download.php) 522 | - 🐺 [Firefox](mozilla.org/firefox) 523 | - Flash Player 524 | - IntelliJ 525 | - http://gitup.co/ 526 | - Heroku Toolbelt (https://devcenter.heroku.com/articles/heroku-cli) 527 | -------------------------------------------------------------------------------- /vscode-settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "editor.fontLigatures": true, 3 | "editor.fontFamily": "'Fira Code', Menlo, Monaco, 'Courier New', monospace", 4 | "explorer.confirmDragAndDrop": false, 5 | "typescript.updateImportsOnFileMove.enabled": "always", 6 | "editor.wordWrap": "wordWrapColumn", 7 | "editor.wordWrapColumn": 100, 8 | "window.zoomLevel": 0, 9 | "workbench.editor.tabCloseButton": "off", 10 | "terminal.integrated.shell.osx": "/bin/zsh", 11 | "go.formatTool": "goimports", 12 | "editor.suggestSelection": "first", 13 | "vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue", 14 | "java.semanticHighlighting.enabled": true, 15 | "files.exclude": { 16 | "**/.classpath": true, 17 | "**/.project": true, 18 | "**/.settings": true, 19 | "**/.factorypath": true 20 | }, 21 | "editor.tabSize": 2, 22 | "sonarlint.rules": { 23 | "php:S107": { 24 | "level": "off" 25 | } 26 | }, 27 | "python.languageServer": "Microsoft" 28 | } --------------------------------------------------------------------------------