TODO: Flesh this README out more, this is a WIP of how to use this on a fresh install.
TODO: get a shell script I can kick off like the homebrew one (URL based I can pass into bash) /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" kevinjalbert/dotfiles/HEAD/bootstrap.sh or something that gets everything ready
A bunch of steps of things to do, will likely need to be refined:
-
Log in to App Store with Apple Id
- Install XCode
-
Install homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
-
brew install dropbox 1password
- Login Dropbox
- Wait for files to sync of files (can take a while depending on amount of files)
- Login to 1Password (set the quick access shortcut to 'option+cmd+')
cd ~/Dropbox/dotfiles
brew bundle --verbose
- keep an eye on anything which failed
rake install:mackup
rake update:mackup
- Might want to double check first
DRY_RUN=true rake update:mackup
, although should be fine - Accept overwrites as needed (should all be yes)
- Might want to double check first
rake mackup:uninstall
- This is needed for now, as there is a bug with how mackup works with symlinks on macOS
rake install:zplug
- Enter password as needed (changing default shell)
rake update:zplug
# Didn't work so I usedzplug install
in a new shell- Before this, open a new shell or get into zsh first (need to see if I can force it via script)
rake install:fzf_bindings
- Yes to things, it should all be there anyways so it'll know
rake install:vim_plug
rake update:vim
rake install:macos
- Restart
-
Might have to allow certain apps to run still due to increase security in macOS (toland/qlmarkdown#98 (comment))
-
For most apps install required helpers, ensure notifications work, grant required permissions, and set to open on login
-
Setup keyboard function keys show all the time
- touchbar shows F# keys
- Fn key does nothing
- hold Fn Key shows control strip
- Use F# keys on external keyboard
-
Setup trackpad settings
- three finger drag (just search for it), and tap to click (if it didn't get set)
- Disable force click if possible
-
Set default view in finder
- Open finder
- Select your hard disc
- Command+J
- Check the top two check boxes (Always open in list view, browse in list view)
- Click use as defaults
- Probably don't need to use the .DS_Store delete given new system
-
Setup Apple Watch to unlock Mac in System Settings > Security and Privacy
-
Open Google Chrome
- Login with main gmail account (kevin.j.jalbert@gmail.com)
- Address extensions upon syncing
- Set as default browser in system preferences
-
Setup internet accounts
- iCloud
- disable contacts and photos
- joint (only contacts)
- main (only calendar)
- iCloud
-
Open Music
- Authorize computer (under Account in menu)
- Wait for everything to sync
- Identify the 'missing' songs on the original machine (if transferring from other machine) and copy them over
-
Open Messages
- Enable SMS linking from phone
-
Open Messenger
- Login
-
Open Bartender
- Set permissions
- Ensure license is set
-
Open iStats Menu
- Install component
-
Open NextDNS
- Set 'device config'
-
Open Qbserve
- Use license
- Set configs
- Pull over backup of user data (and exports)
-
Open Discord
- Login via QR code scan on mobile
-
Open KeepingYouAwake
-
Open Spark
- Login using kevin.j.jalbert@gmail.com account
- Ensure settings kinda match up
- General > Main
- num of lines to 1
- Show labels in list
- Show avatars (both)
- Notifications
- Email notifications being 'Smart'
- Dock badge being all messages
- Accounts > Disable calendars
- Shortcuts > Custom (Archive is 'delete' backspace)
- General > Main
-
Open Books
- Account > Authorize
-
Open TablePlus
- License has expired
-
Open VSCode
- Login with Github for Setting Sync
- Sync everything
-
Open Rectangle
- Grant permissions
-
Open Obsidian
- Connect up vault (icloud)
- Might have to ensure that all the 'files' are actually loaded locally in iCloud
-
Open Calendar
- Ensure right calendar accounts are showing up
-
Open Contacts
- Set default to join account
-
Open Dash
- Grant permissions
- Ensure that the sync is working (should be)
- Ensure that license is enabled
-
Open Karabiner Elements
- Grant permissions
- Set hyperkey for cap lock
- Set page up/down home/end to none (I don't use them, and they are sometimes mis-clicked)
-
Open Flux
-
Open HammerSpoon
- Grant permissions
- Open on login
-
Open ImageOptim
- Enable Guetzli
- Set image processing level to insane
-
Open Keybase
- Login
- Add new machine
-
Open Postman
- Login
-
Open ProxyMan
- Install helper
- Open preferences > Advance and make it restore the previous HTTPS proxy when ProxyMan closes
-
Install Readwise for iBooks (https://readwise.io/ibooks)
- Install
- Open and Login
-
Open Steam
- Login
-
Open Raycast
- Ensure the hotkey is set to cmd+space
- Ensure settings carry over
- Look at the extensions (set up as needed)
- Clipboard settings
- history 3 months
- primary action is to copy
- Disable app: 1Password
-
Open Steam
- Login
-
Open Shottr
- Setup settings and set license
- Screenshots can go to Desktop
- Set hotkeys (fullscreen cmd+shift+3, area cmd+shift+4, OCR hyper+C)
-
Setup login in items
-
Set up dock
- Add spacers
defaults write com.apple.dock persistent-apps -array-add '{"tile-type"="spacer-tile";}' && killall Dock
- Add spacers
-
Setup SSH and GPG
- Look at that section
Language Setup asdf version manager
asdf plugin-add ruby https://github.com/asdf-vm/asdf-ruby.git
take a look at this -- https://github.com/asdf-vm/asdf-ruby#default-gems
asdf install ruby <version>
asdf plugin-add nodejs https://github.com/asdf-vm/asdf-nodejs.git
take a look at this -- https://github.com/asdf-vm/asdf-nodejs#default-npm-packages
asdf install nodejs <version>
Use passphrases for both SSH and GPG keys. They should exist in 1Password as secure notes.
When setting up on a new machine, I like setting up a new SSH key. The old SSH Keys should be removed from GitHub
ssh-keygen -t rsa -b 4096 -C "kevin.j.jalbert@gmail.com"
eval "$(ssh-agent -s)"
ssh-add -K ~/.ssh/id_rsa
pbcopy < ~/.ssh/id_rsa.pub
Make sure to add a passphrase (1password generated)
Take the key and add it to GitHub's SSH settings (https://github.com/settings/keys)
First we need to set the right permissions for the gnupg
directory/files:
sudo chown -R $(whoami) ~/.gnupg
sudo find ~/.gnupg -type f -exec chmod 600 {} \;
sudo find ~/.gnupg -type d -exec chmod 700 {} \;
``
Next we pull down the Keybase public/private GPG keys from 1Password and import them locally via `gpg`:
```bash
cat keybase-public.key | gpg --import
cat keybase-private.key | gpg --allow-secret-key-import --import
Use the passphrase from 1Password
The following "shouldn't be needed", but incase a new GPG key is needed, it can be generated following this guide.
Also, don't remove older GPG keys from GitHub as it'll invalid the commits that have been signed with it in the past.