# Ovid 💻 ### Notes 11/23/21 - I wrote a quick post about why I purchased it and why I named it Ovid @ [https://davidawindham.com/ovid](https://davidawindham.com/ovid) and I'll document the rest of the it here. Picked him up from the Apple Store. Moved my old laptop so that I could share the screen for referencing configuration. Booted her up and loaded up activity monitor and command line top to watch the processes. I always avoid using the migration assistant so that I can start clean. My main goal is to keep the machine as minimal and simple as possible. I am going to try and avoid running any x86 processes under Rosetta in my attempt to go fully ARM [https://davidawindham.com/arm/](https://davidawindham.com/arm/).   ## System --- ### Preferences **General** : Auto / Accent multi **Desktop & Screen Save** : Dark Grey Desktop color, Screen Saver 10min Monterey **Dock & Menu Bar** : Remove all default, Auto Hide Dock Left w/ Magnification, no recent apps or indicators **Mission Control** : set Hot Corners **Notifications & Focus** : turn off all notifications except Kerberos, Calendar, Mail, Messages & Reminders. Turn on Focus automatically from 6-10am and 6-10pm weekdays. **Internet Accounts** : add email accounts w/ mail, contacts, calendar. iCloud: enable drive, photos, mail, contacts, calendars, reminders, notes, safari, KeyChain, find my mac. turn off all iCloud drive except pages. **Passwords** : Wallet & Pay: only on phone/tablet **ScreenTime** : disabled **Security & Privacy** : Allow apps from identified developers. FileVault:Off, Firewall:On, Privacy:disable all location. show location icon in menu bar. **Network** : Set up WiFi, Advanced -> DNS **Bluetooth** : add keyboard/TrackPad **Sound** :default **Keyboard** :Text:add period with double-space **Touch ID** : setup **TrackPad** :scroll direction un-natural **Displays** : configure external monitors **Printer** : Add epson wireless **Battery** : turn off display 7min. optimize battery charging, wake for network access **Sharing** : rename, file/screen airplay sharing. **Time Machine** : set backup disk on network **Startup Disk** : rename hard drive to network machine name. ### MacOS Arrange software based on usage and function * Pages, Notes, Reminders * Numbers, Keynote * Calendar, Contacts, Mail, Facetime, Messages * Photos, QuickTime, Preview * Activity Monitor, Disk Utility, Console, Color Meter ### Finder * Change sidebar order and add my default work folders ( Projects / Sites ) * Add [QLMarkdown](https://github.com/sbarex/QLMarkdown) and [Syntax Highlight](https://github.com/sbarex/SourceCodeSyntaxHighlight) Extensions ( as HomeBrew Casks ) ```bash david@ovid:~ » brew install --cask qlmarkdown david@ovid:~ » brew install --cask syntax-highlight ``` ### Xcode Install command line developer tools. Xcode still requires Rosetta to run some builds and since I don't regularly do Swift development, I can let the app sit without installing Rosetta ```bash david@ovid:~ » xcode-select –install ``` **Git** - set --global .gitignore/.gitconfig - version included with Xcode ```bash david@ovid:~/sites/dotfiles(masterâ—‹) » git version git version 2.30.1 (Apple Git-130) ``` ### Terminal SSH Keys - move existing keys, generate fresh keys GPG Keys - move existing, generate fresh, validate [Github](https://docs.github.com/en/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key) Git Auth/Keys - keychain Vim & Vundle - plugins ( NERDTree, NERDTree-Git, Fugative ) colors ( sunburst, vividchalk, solarized ) ```bash david@ovid:~ » git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim ``` **dotfiles** @ [https://code.davidawindham.com/david/dotfiles](https://code.davidawindham.com/david/dotfiles) Oh My Zsh - ( aliases, plugins, theme ) macos, git, gulp, grunt, brew, yarn, textmate, vscode, history-substring-search, zsh-autosuggestions, zsh-syntax-highlighting ```bash david@ovid:~ » sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" david@ovid:~ » git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting david@ovid:~ » git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions ``` #### New Features ```bash david@ovid:~ » networkQuality ( network tests ) david@ovid:~ » aea ( Manipulate Apple Encrypted Archives ) ```   ## Development --- Quick reference for Apple Silicon compatibility - [https://doesitarm.com](https://doesitarm.com) ### Text Editors **Textmate** - set as default editor, shell support global .tm_properties **Jet Brains** - CLion, Rider, GoLand, Rust, RubyMine, PyCharm, PhpStorm, WebStorm **Visual Studio Code** - Insiders (Universal Build) - plugins ( Sunburst, One Dark Pro, Transmit, Vim, GitLens, Github Markdown, Markdown Lint, Spell Check ) **~~Atom~~** - dropped b/c x86. Microsoft now owns Github and any package I used there is now on VS Code. **~~Sublime~~** - dropped Sublime and Merge **Nova** - trying out Nova from Panic Inc. **Kaleidoscope** - for complex/visual diffs. ### Homebrew Homebrew - trying to avoid all x86 packages *installed in /opt/homebrew for ARM ```bash david@ovid:~/sites/dotfiles(masterâ—‹) » arch arm64 david@ovid:~/sites/dotfiles(masterâ—‹) » brew doctor Your system is ready to brew. david@ovid:~/sites/dotfiles(masterâ—‹) » brew --version Homebrew 3.3.5 Homebrew/homebrew-core (git revision c29456a994b; last commit 2021-11-25) david@ovid:~/sites/dotfiles(masterâ—‹) » david@ovid:~/sites/_a » brew config HOMEBREW_VERSION: 3.3.5 ORIGIN: https://github.com/Homebrew/brew HEAD: 354718c40a4e7cc4e5d1d4b03fdce8b992e04e8a Last commit: 6 days ago Core tap ORIGIN: https://github.com/Homebrew/homebrew-core Core tap HEAD: c32f243acaddffb510bc5c640e83202e5101690c Core tap last commit: 36 minutes ago Core tap branch: master HOMEBREW_PREFIX: /opt/homebrew HOMEBREW_CASK_OPTS: [] HOMEBREW_CORE_GIT_REMOTE: https://github.com/Homebrew/homebrew-core HOMEBREW_MAKE_JOBS: 10 Homebrew Ruby: 2.6.8 => /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby CPU: 10-core 64-bit arm_firestorm_icestorm Clang: 13.0.0 build 1300 Git: 2.30.1 => /Applications/Xcode.app/Contents/Developer/usr/bin/git Curl: 7.77.0 => /usr/bin/curl macOS: 12.0.1-arm64 CLT: 13.1.0.0.1.1633545042 Xcode: 13.1 Rosetta 2: false ``` ### Languages Apple is removing languages from the OS via [Xcode 11 release notes](https://developer.apple.com/documentation/xcode-release-notes/xcode-11-release-notes): "Scripting language runtimes such as Python, Ruby, and Perl are included in macOS for compatibility with legacy software. In future versions of macOS, scripting language runtimes won't be available by default, and may require you to install an additional package." Instead of adding four or five versions of each language to support legacy codebase, I'm going to bring modify the old projects. **PHP** - 8.1.0 **Python** - 3.9.9 **Ruby** - 3.0.3 ( switched from using rvm to rbenv ) ```bash david@ovid:~ » brew install rbenv ruby-build david@ovid:~ » echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshrc david@ovid:~ » echo 'eval "$(rbenv init -)"' >> ~/.zshrc david@ovid:~ » rbenv install 3.0.3 david@ovid:~ » ruby -v ruby 2.6.8p205 (2021-07-07 revision 67951) [universal.arm64e-darwin21] david@ovid:~ » rbenv global 3.0.3 david@ovid:~ » ruby -v ruby 3.0.3p157 (2021-11-24 revision 3fb7d2cadc) [arm64-darwin21] ``` **GoLang** 1.17.2 **Rust** - 1.56.1 (still haven't learned Rust 🛠 ) ```bash david@ovid:~ » rustc --version rustc 1.56.1 david@ovid:~ » go version go version go1.17.2 darwin/arm64 ``` #### SSL ( Open, Libre, Boring ) Mkcert #### Packages | | | | | | | | |-|-|-|-|-|-|-| | apr | fontconfig | gmp | libnghttp2 | libzip | pcre2 | rust | apr-util | freetds | go | libpng | m4 | php | sqlite | argon2 | freetype | httpd | libpq | mkcert | pkg-config | tidy-html5 | aspell | gd | icu4c | libsodium | mpdecimal| python@3.9 | unixodbc | autoconf | gdbm | jpeg | libssh2 | oniguruma | rbenv | webp | brotli | gettext | krb5 | libtiff | openldap | readline | xz | ca-certificates | gh | libffi | libtool | openssl@1.1 | rtmpdump | zstd | curl | giflib | libidn2 | libunistring | pcre | ruby-build #### Casks |||| |---|---|---| | qlmarkdown | syntax-highlight | | ### Node.js & NVM * v.16.13.0 is Universal and has LTS * Will bring my older Node.js projects up to this version ```bash david@ovid:~ » curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash david@ovid:~ » nvm install --lts david@ovid:~/sites/dotfiles(masterâ—‹) » nvm Node Version Manager (v0.37.2) david@ovid:~/sites/dotfiles(masterâ—‹) » node -v v16.13.0 david@ovid:~/sites/daw_til(masterâ—‹) » npm -v 8.1.0 ``` * ran into a bug 🪲 where the ~/.npm directory was not installed. ```bash david@ovid:~/sites/daw_til(masterâ—‹) » npm install npm ERR! code EACCES npm ERR! syscall mkdir npm ERR! path /Users/david/.npm/_cacache npm ERR! errno -13 npm ERR! npm ERR! Your cache folder contains root-owned files, due to a bug in npm ERR! previous versions of npm which has since been addressed. npm ERR! npm ERR! To permanently fix this problem, please run: npm ERR! sudo chown -R 501:20 "/Users/david/.npm" david@ovid:~ » sudo mkdir .npm david@ovid:~/sites/daw_til(masterâ—‹) » sudo chown -R $(whoami) ~/.npm npm notice New patch version of npm available! 8.1.0 -> 8.1.4 david@ovid:~/sites/daw_til(masterâš¡) » npm install -g npm@8.1.4 ``` ### Databases PostgreSQL MySQL MongoDB Redis DBngin Tables Plus ### Integration Docker Now Insomnia Postman ### Audit & Testing Proxyman Screaming Frog ## Software --- ### Communications Final Draft Slack Keybase Authy Zoom ### Productivity Quicksilver, Alfred, Launchbar Objective Development - Launchbar/Little Snitch Side Mirror [Obsidian](https://obsidian.md) [Pandoc](https://pandoc.org) ### Design Adobe ( Illustrator, Photoshop, InDesign, ~~Acrobat Pro(x86)~~, Premier ) Sketch Sip ### A/V [Rogue Amoeba](https://rogueamoeba.com) - Audio Hijack / Airfoil / Satellite Ace ( [System Kernel Extension](https://developer.apple.com/documentation/apple-silicon/installing-a-custom-kernel-extension ) ) ExistentialAudio/BlackHole Spotify [Monitor Control](https://github.com/MonitorControl/MonitorControl) VLC [Telestream](https://www.telestream.net) - Screenflow / Wirecast / Presenter   ## Peripheral --- ViewSonic VP3881 - [Manual](http://www.viewsonicglobal.com/public/products_download/user_guide/Display/VP3881/VP3881_UG_ENG.pdf?pass) Lenovo 32q-20 - [Manual](https://download.lenovo.com/consumer/monitor/lenovo_c32q-20_ug_201906_en.pdf) Klipsch Pro Media 2.1 - [Manual](http://images.klipsch.com/ProMedia21OwnersManualRev2012_635042122162050000.pdf) Blue Yeti - [Manual](https://s3.amazonaws.com/cd.bluemic.com/pdf/manuals/yeti/Blue_Yeti_QuickStartGuide-EN.pdf) FujiFilm XT2 - [Manual](https://fujifilm-dsc.com/en/manual/x-t2/) TP-Link Archer [AX50](https://www.tp-link.com/us/support/download/archer-ax50/) / [RE505X](https://www.tp-link.com/us/support/download/re505x/)