Giter Club home page Giter Club logo

dotfiles_macos's Introduction

dotfiles

I learned about dotfiles at dotfiles.eieio.xyz, and so can you!

Check out my extensive course on Udemy where I'm working through each commit in this repo (~4hrs and ~22 commits so far, with more to come).

Decommission Computer

Create a bootable USB installer for macOS.

Software audit:

  • Uninstall unwanted software (e.g. GarageBand, iMovie, Keynote, Numbers, Pages)
  • Install missing software (look at /Applications, panes in System Preferences , maybe ~/Applications, etc.)

Backup / sync files:

  • Commit and Push to remote repositories
  • Run code --list-extensions > vscode_extensions from ~/.dotfiles to export VS Code extensions
  • Time Machine
  • Dropbox / Google Drive
  • Manual Backups (external drives, redundant cloud services)
  • Contacts, Photos, Calendar, Messages (Google, iCloud)
  • etc.

Deactivate licenses:

  • Dropbox (Preferences > Account > Unlink)
  • ScreenFlow (Preferences > Licenses > Deactivate)
  • Sign Out of App Store (Menu > Store > Sign Out)
  • iTunes, etc.

Restore Instructions

  1. xcode-select --install (Command Line Tools are required for Git and Homebrew)

  2. git clone https://github.com/eieioxyz/dotfiles_macos.git ~/.dotfiles. We'll start with https but switch to ssh after everything is installed.

  3. cd ~/.dotfiles

  4. If necessary, git checkout <another_branch>.

  5. Do one last Software Audit by editing Brewfile directly.

  6. ./install

  7. Restart computer.

  8. Setup up Dropbox (use multifactor authentication!) and allow files to sync before setting up dependent applications. Alfred settings are stored here. Mackup depends on this as well (and thus so do Terminal and VS Code).

  9. Run mackup restore. Consider doing a mackup restore --dry-run --verbose first.

  10. Generate ssh key, add to GitHub, and switch remotes.

    # Generate SSH key in default location (~/.ssh/config)
    ssh-keygen -t rsa -b 4096 -C "[email protected]"
    
    # Start the ssh-agent
    eval "$(ssh-agent -s)"
    
    # Create config file with necessary settings
    << EOF > ~/.ssh/config
    Host *
      AddKeysToAgent yes
      UseKeychain yes
      IdentityFile ~/.ssh/id_rsa
    EOF
    
    # Add private key to ssh-agent 
    ssh-add -K ~/.ssh/id_rsa
    
    # Copy public key and add to github.com > Settings > SSH and GPG keys
    pbcopy < ~/.ssh/id_rsa.pub
    
    # Test SSH connection, then verify fingerprint and username
    # https://help.github.com/en/github/authenticating-to-github/testing-your-ssh-connection
    ssh -T [email protected]
    
    # Switch from HTTPS to SSH
    git remote set-url origin [email protected]:eieioxyz/dotfiles_macos.git

Manual Steps

Snappy App

  1. System Preferences > Keyboard > Shortcuts > Screenshots > Save picture of selected area as a file (cmd+shift+4) uncheck.
  2. Snappy Preferences > General > Take snap change from cmd+shift+2 (which conflicts with ScreenFlow) to cmd+shift+4.

Alfred

  1. System Preferences > Keyboard > Shortcuts > Spotlight > Show Spotlight search (cmd+space) uncheck.
  2. Alfred Preferences > Powerpack add License.
  3. Alfred Preferences > General > Request Permissions.
  4. Alfred Preferences > General > Alfred Hotkey change to cmd+space.
  5. Alfred Preferences > Advanced > Set preferences folder and set to ~/Dropbox/dotfiles/Alfred.

dotfiles_macos's People

Contributors

agos09 avatar eieioxyz avatar iamtodor avatar simonward87 avatar yasinmiran avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.