diff --git a/Brewfile b/Brewfile index 3ce258a..86bcee1 100644 --- a/Brewfile +++ b/Brewfile @@ -18,6 +18,7 @@ cask "authy" cask "bartender" cask "discord" cask "docker" +cask "eqmac" cask "firefox" cask "github" cask "google-chrome" diff --git a/Brewfile.lock.json b/Brewfile.lock.json new file mode 100644 index 0000000..199ff6e --- /dev/null +++ b/Brewfile.lock.json @@ -0,0 +1,355 @@ +{ + "entries": { + "tap": { + "homebrew/bundle": { + "revision": "0df097ca87d3bcf762d0f8cbe30eed8c37c35786" + }, + "homebrew/cask": { + "revision": "aeb5bae5a30724bca4c7437d5d1502f3b5c58827" + }, + "homebrew/cask-drivers": { + "revision": "d578d89895c8cadbf6fc6ca60a180fa507140ce1" + }, + "homebrew/cask-versions": { + "revision": "9d2f19357c2a94e3debe601122dba2c3d8272cda" + }, + "homebrew/core": { + "revision": "fc37369307f5bbaf7da4dcc77c96c5c7e7fcef6d" + } + }, + "brew": { + "awscli": { + "version": "2.1.35", + "bottle": { + "rebuild": 0, + "cellar": ":any", + "prefix": "/opt/homebrew", + "root_url": "https://homebrew.bintray.com/bottles", + "files": { + "arm64_big_sur": { + "url": "https://homebrew.bintray.com/bottles/awscli-2.1.35.arm64_big_sur.bottle.tar.gz", + "sha256": "100c5a7c32810df6a60e8bcc388464421a0c1f4b9f91658525d32867f88805d0" + }, + "big_sur": { + "url": "https://homebrew.bintray.com/bottles/awscli-2.1.35.big_sur.bottle.tar.gz", + "sha256": "fa8aeae61cc9ce6f03ff25860f0bccb472d0dbc193c17658b9f768086ae90fc2" + }, + "catalina": { + "url": "https://homebrew.bintray.com/bottles/awscli-2.1.35.catalina.bottle.tar.gz", + "sha256": "a4c7d4d7bf12447b8c3e807985e86cbb378a246b8b6d16c2c49178f783b203aa" + }, + "mojave": { + "url": "https://homebrew.bintray.com/bottles/awscli-2.1.35.mojave.bottle.tar.gz", + "sha256": "ef5bfd5f9bc54ed90c0b23a81cf0fedef5640422a7dca2b00256797b5c1b7486" + } + } + } + }, + "mackup": { + "version": "0.8.32", + "bottle": { + "rebuild": 0, + "cellar": ":any_skip_relocation", + "prefix": "/opt/homebrew", + "root_url": "https://homebrew.bintray.com/bottles", + "files": { + "arm64_big_sur": { + "url": "https://homebrew.bintray.com/bottles/mackup-0.8.32.arm64_big_sur.bottle.tar.gz", + "sha256": "be968ec450c3e2c28255f2c6e7928404e24498c907a05aed69e5a87e6ae8612e" + }, + "big_sur": { + "url": "https://homebrew.bintray.com/bottles/mackup-0.8.32.big_sur.bottle.tar.gz", + "sha256": "24dca4cbc991aad8990c672e7a88fd975f33fefcdb0dbb70f9e6e0b10a19841d" + }, + "catalina": { + "url": "https://homebrew.bintray.com/bottles/mackup-0.8.32.catalina.bottle.tar.gz", + "sha256": "df736bcc51887e9621c00d2948c989db4f1d4b5234ab7e702b49933fc212705e" + }, + "mojave": { + "url": "https://homebrew.bintray.com/bottles/mackup-0.8.32.mojave.bottle.tar.gz", + "sha256": "5f413d937d26828065204eaf532ab280c9d642448a0ee4f280fc667cb03fc9e6" + } + } + } + }, + "mas": { + "version": "1.8.1", + "bottle": { + "rebuild": 0, + "cellar": ":any", + "prefix": "/opt/homebrew", + "root_url": "https://homebrew.bintray.com/bottles", + "files": { + "arm64_big_sur": { + "url": "https://homebrew.bintray.com/bottles/mas-1.8.1.arm64_big_sur.bottle.tar.gz", + "sha256": "f5ef4f44057f43ecc14f970687d832bd152bc6142c0ad848977f0a6527aa934f" + }, + "big_sur": { + "url": "https://homebrew.bintray.com/bottles/mas-1.8.1.big_sur.bottle.tar.gz", + "sha256": "d92cfc734e730fde87b29c6bf4a50ce63a78b9e505f464dc557eee128aa06d05" + }, + "catalina": { + "url": "https://homebrew.bintray.com/bottles/mas-1.8.1.catalina.bottle.tar.gz", + "sha256": "163eb9cfdfed3d8fbda133b4079d104ad687f1ddb71d70d5661d02b22f562e76" + } + } + } + }, + "nvm": { + "version": "0.38.0", + "bottle": false + }, + "postgresql": { + "version": "13.2_1", + "bottle": { + "rebuild": 0, + "cellar": "/opt/homebrew/Cellar", + "prefix": "/opt/homebrew", + "root_url": "https://homebrew.bintray.com/bottles", + "files": { + "arm64_big_sur": { + "url": "https://homebrew.bintray.com/bottles/postgresql-13.2_1.arm64_big_sur.bottle.tar.gz", + "sha256": "299babccbbf29b9769ab402aca01c4a0c4bc173a19a928e09fe1edabe7461c88" + }, + "big_sur": { + "url": "https://homebrew.bintray.com/bottles/postgresql-13.2_1.big_sur.bottle.tar.gz", + "sha256": "67a547842ae49911d301d490e70b5fff1ee27a65cea403abeff3a25d1806e8d6" + }, + "catalina": { + "url": "https://homebrew.bintray.com/bottles/postgresql-13.2_1.catalina.bottle.tar.gz", + "sha256": "02af915cc2b5291c5a15b59a74dff255e918e7a6af34dbef53cf6ad264627628" + }, + "mojave": { + "url": "https://homebrew.bintray.com/bottles/postgresql-13.2_1.mojave.bottle.tar.gz", + "sha256": "37f0b76c0f034d8a6837805eb27da3787c39cf895516a193ad298ea96f68e98a" + } + } + } + }, + "pyenv": { + "version": "1.2.26", + "bottle": { + "rebuild": 0, + "cellar": ":any", + "prefix": "/opt/homebrew", + "root_url": "https://homebrew.bintray.com/bottles", + "files": { + "arm64_big_sur": { + "url": "https://homebrew.bintray.com/bottles/pyenv-1.2.26.arm64_big_sur.bottle.tar.gz", + "sha256": "ecef415150807040a663a2303de95243c9da49f746cdc7208ab7314edb9d3d75" + }, + "big_sur": { + "url": "https://homebrew.bintray.com/bottles/pyenv-1.2.26.big_sur.bottle.tar.gz", + "sha256": "5c2c4b253c069c7461f9f657fdf8a526a6aedac5fed2263c65bb9aaf66efd805" + }, + "catalina": { + "url": "https://homebrew.bintray.com/bottles/pyenv-1.2.26.catalina.bottle.tar.gz", + "sha256": "6a5736817f87bfbf97f355975a71ce99c72cff0afb8f5e29920c8eaac003f0ca" + }, + "mojave": { + "url": "https://homebrew.bintray.com/bottles/pyenv-1.2.26.mojave.bottle.tar.gz", + "sha256": "8da46fc892af22ed501f9ff4fd96a06e9fa185653ada1a0887847e61787980e0" + } + } + } + }, + "ruby-build": { + "version": "20210405", + "bottle": false + }, + "rbenv": { + "version": "1.1.2", + "bottle": { + "rebuild": 0, + "cellar": ":any", + "prefix": "/opt/homebrew", + "root_url": "https://homebrew.bintray.com/bottles", + "files": { + "arm64_big_sur": { + "url": "https://homebrew.bintray.com/bottles/rbenv-1.1.2.arm64_big_sur.bottle.tar.gz", + "sha256": "19d0b9e3b11bcacdf692e78248c1b5764f7d3f4b58f2b83ad7b39562863ba82e" + }, + "big_sur": { + "url": "https://homebrew.bintray.com/bottles/rbenv-1.1.2.big_sur.bottle.tar.gz", + "sha256": "60b045c8843745c45d01616ee3f71b91f6a16ee09c47e23a7817a3edabeaccfd" + }, + "catalina": { + "url": "https://homebrew.bintray.com/bottles/rbenv-1.1.2.catalina.bottle.tar.gz", + "sha256": "503ed6d818502f00f031b9f49461934e252b9bfba2876e90a326fc27bb1052d6" + }, + "mojave": { + "url": "https://homebrew.bintray.com/bottles/rbenv-1.1.2.mojave.bottle.tar.gz", + "sha256": "d1019098dee8d037587069398e5ad04e6d736f834dc44ae73943bec46b10b260" + }, + "high_sierra": { + "url": "https://homebrew.bintray.com/bottles/rbenv-1.1.2.high_sierra.bottle.tar.gz", + "sha256": "b5984102794a9d39388ca1f6ec77965aeea29b971cc00cb5af8ede8ee6c926d6" + }, + "sierra": { + "url": "https://homebrew.bintray.com/bottles/rbenv-1.1.2.sierra.bottle.tar.gz", + "sha256": "873175a851e5aa4f5b3438072030b945c252f08a9a07760c64dc045e2cce4724" + } + } + } + }, + "yarn": { + "version": "1.22.10", + "bottle": false + }, + "zsh-git-prompt": { + "version": "0.5", + "bottle": false + } + }, + "cask": { + "1password": { + "version": "7.8", + "options": { + "full_name": "1password" + } + }, + "authy": { + "version": "1.8.3", + "options": { + "full_name": "authy" + } + }, + "bartender": { + "version": "4.0.44,40044", + "options": { + "full_name": "bartender" + } + }, + "discord": { + "version": "0.0.262", + "options": { + "full_name": "discord" + } + }, + "docker": { + "version": "3.2.2,61853", + "options": { + "full_name": "docker" + } + }, + "firefox": { + "version": "87.0", + "options": { + "full_name": "firefox" + } + }, + "github": { + "version": "2.7.2-5b94c877", + "options": { + "full_name": "github" + } + }, + "google-chrome": { + "version": "89.0.4389.114", + "options": { + "full_name": "google-chrome" + } + }, + "iterm2": { + "version": "3.4.4", + "options": { + "full_name": "iterm2" + } + }, + "keycastr": { + "version": "0.9.10", + "options": { + "full_name": "keycastr" + } + }, + "logitech-options": { + "version": "8.50.210", + "options": { + "full_name": "logitech-options" + } + }, + "menumeters": { + "version": "2.1.4", + "options": { + "full_name": "menumeters" + } + }, + "monitorcontrol": { + "version": "2.1.0", + "options": { + "full_name": "monitorcontrol" + } + }, + "moom": { + "version": "3.2.21", + "options": { + "full_name": "moom" + } + }, + "rectangle": { + "version": "0.44,49", + "options": { + "full_name": "rectangle" + } + }, + "rocket": { + "version": "1.8.2,79", + "options": { + "full_name": "rocket" + } + }, + "slack": { + "version": "4.14.0", + "options": { + "full_name": "slack" + } + }, + "spotify": { + "version": "1.1.56.595.g2d2da0de,1.1.56.595.g2d2da0de-24", + "options": { + "full_name": "spotify" + } + }, + "visual-studio-code": { + "version": "1.55.0", + "options": { + "full_name": "visual-studio-code" + } + }, + "whatsapp": { + "version": "2.2110.12", + "options": { + "full_name": "whatsapp" + } + }, + "zoom": { + "version": "5.6.1.560", + "options": { + "full_name": "zoom" + } + } + }, + "mas": { + "Bear": { + "id": "1091189122", + "version": "1.8.2" + }, + "Hand Mirror": { + "id": "1502839586", + "version": "1.5" + } + } + }, + "system": { + "macos": { + "big_sur": { + "HOMEBREW_VERSION": "3.0.11-68-g53e35d2", + "HOMEBREW_PREFIX": "/opt/homebrew", + "Homebrew/homebrew-core": "fc37369307f5bbaf7da4dcc77c96c5c7e7fcef6d", + "CLT": "12.4.0.0.1.1610135815", + "Xcode": "12.0", + "macOS": "11.2.3" + } + } + } +} diff --git a/README.md b/README.md index 4be020f..66f7ff0 100644 --- a/README.md +++ b/README.md @@ -6,18 +6,20 @@ Do the following in order: 1. Clone this repo 1. Install `oh-my-zsh` +1. Install Rosetta 2 (for M1 Macs) 1. Install Homebrew and packages 1. Set up 1Password 1. Sign into iCloud +1. Run `brew bundle` again to install Mac App Store apps 1. Restore `mackup` -1. Set up Kryptonite +1. Set up Krypton 1. Set up `pyenv` 1. Set up AWS credentials ## Clone this repo ```zsh -% mkdir ~/Code && git clone https://github.com/expandrew/dotfiles ~/Code +% mkdir ~/Code && git clone https://github.com/expandrew/dotfiles ~/Code/dotfiles ``` ## oh-my-zsh @@ -26,13 +28,22 @@ Do the following in order: % sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" ``` +## Rosetta 2 + +```zsh +% sudo softwareupdate --install-rosetta +``` + ## Homebrew ```zsh % /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" +% eval "$(/opt/homebrew/bin/brew shellenv)" ## get brew in the PATH for now (will be actually added when Mackup is restored) % cd ~/code/dotfiles && brew bundle # install everything from Brewfile ``` +Note: At this point, `brew bundle` will not complete successfully for Mac App Store apps via `mas` because I haven't signed into iCloud yet (dependency on 1Password step below). I need to re-run `brew bundle` again after 1Password and iCloud are set up. + ### Brewfile This is how I update the Brewfile when I install/uninstall something: @@ -58,6 +69,8 @@ Sign into iCloud now that 1Password is set up. Disable all the stuff except thes - Find My Mac - Home +iCloud will also bring over my other Internet Accounts when I sign in. Go to the a@aw Google account and turn on "Contacts" sync (will ask me to sign into Google; grab password from 1Password and use security key for 2FA) + ## Mackup Restore app settings from mackup @@ -72,7 +85,7 @@ Restore app settings from mackup % mackup restore ``` -## Kryptonite (SSH / GPG Keys) +## Krypton (SSH / GPG Keys) ```zsh % curl https://krypt.co/kr | sh @@ -85,9 +98,9 @@ Restore app settings from mackup Use `pyenv` to install and use the correct Python versions: ```zsh -% pyenv install 3.6.8 -% pyenv global 3.6.8 -% python --version # should return Python 3.6.8; if it isn't, something is wrong +% pyenv install 3.9.2 +% pyenv global 3.9.2 +% python --version # should return Python 3.9.2; if it isn't, something is wrong ``` ## pip diff --git a/mackup/.gitconfig b/mackup/.gitconfig index 75c3e8e..2640d8e 100644 --- a/mackup/.gitconfig +++ b/mackup/.gitconfig @@ -13,12 +13,10 @@ [alias] lol = log --graph --decorate --pretty=oneline --abbrev-commit lola = log --graph --decorate --pretty=oneline --abbrev-commit --all -[gpg] - program = /usr/local/bin/krgpg [commit] - gpgSign = true + gpgSign = false [tag] - forceSignAnnotated = true + forceSignAnnotated = false [core] excludesfile = ~/.gitignore [pager] diff --git a/mackup/.ssh/config b/mackup/.ssh/config index 7d7eba8..fd949fc 100644 --- a/mackup/.ssh/config +++ b/mackup/.ssh/config @@ -7,5 +7,3 @@ Host * IdentityFile ~/.ssh/id_rsa IdentityFile ~/.ssh/id_ecdsa IdentityFile ~/.ssh/id_dsa - AddKeysToAgent yes - UseKeychain yes diff --git a/mackup/.zshrc b/mackup/.zshrc index 08f5855..7f75ef2 100644 --- a/mackup/.zshrc +++ b/mackup/.zshrc @@ -1,6 +1,11 @@ +# Homebrew +[ -s "/opt/homebrew/bin/brew" ] && eval "$(/opt/homebrew/bin/brew shellenv)" # (Apple Silicon) + # nvm export NVM_DIR="$HOME/.nvm" -[ -s "/usr/local/opt/nvm/nvm.sh" ] && . "/usr/local/opt/nvm/nvm.sh" # This loads nvm +[ -s "/usr/local/opt/nvm/nvm.sh" ] && . "/usr/local/opt/nvm/nvm.sh" # This loads nvm (Intel) +[ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && . "/opt/homebrew/opt/nvm/nvm.sh" # This loads nvm (Apple Silicon) +[ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" ] && . "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" # This loads nvm bash_completion (Apple Silicon) # pyenv eval "$(pyenv init -)"