Giter Club home page Giter Club logo

setup-mac's Introduction

setup-mac

My personal configuration for MacOS machines.

Setup MacOS Machine

Update Computer name via System Preferences > Sharing.

Install Desktop apps:

  • Install 1Password.
  • Install Brave Browser. Setup various profiles.
  • Dropbox
  • Discord

In Mac App Store, install:

  • Slack

Setup Developer Tools

Install iTerm2.

Install Docker Desktop.

  • for Apple Silicon (M1) machines you may need one of these when working with non-ARM containers:
    • export DOCKER_DEFAULT_PLATFORM=linux/amd64 to build containers on AMD/64 instead of default ARM/64.
    • softwareupdate --install-rosetta to run Intel containers

Switch macOS shell to bash: Open Terminal and then run chsh -s /bin/bash then restart Terminal.

Install Microsoft Visual Code extensions:

  • command-shift-p and run Shell Command: Install 'code' command in PATH

  • Prettier - Code formatter by Prettier

    • update Settings for Editor: Default Formatter to Prettier - Code formatter.
  • Dev Containers by Microsoft

  • Solidity by Nomic Foundation

  • Tailwind CSS by Tailwind Labs

  • GitHub Codespaces by GitHub

  • Docker by Microsoft

Setup Passwordless Auth to Github via SSH

ssh-keygen -t ed25519 -C "<desired email address here>"

# legacy version
ssh-keygen -t rsa -b 4096 -C "<desired email address here>"

# add public key to Github

For nice visual Git diffs, there are many options:

  • Use VSCode's tools
  • Install difftastic, a Rust-based diff tool installed via Homebrew below. Run as difft.
  • Install Github Desktop and the command line tool so you can run github . in any repository.

Install Homebrew

xcode-select --install

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

If homebrew needs to be accessible for multiple user accounts on same machine: https://medium.com/@leifhanack/homebrew-multi-user-setup-e10cb5849d59

Install apps via Homebrew:

brew install tmux git bash-completion gh difftastic gpg git-lfs yarn

Install nvm to install NodeJS:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash

... and install latest version:

nvm ls-remote
nvm install v18
nvm alias default v18

Install Go: https://github.com/briangershon/setup-go

Clone setup-mac and link up config files

Clone this repo locally via git clone [email protected]:briangershon/setup-mac.git

Setup .dot config files

# if files already exist merge/remove before linking

cd ~
ln -s ~/setup-mac/dotfiles/.gitconfig
ln -s ~/setup-mac/dotfiles/.bash_profile
ln -s ~/setup-mac/dotfiles/.tmux.conf

rm ~/.profile

Also for tmux change MacOS keyboard shortcut so that CAPS LOCK maps to CTRL in "System Preferences > Keyboard" then "Modifier Keys..." button. This gives you the very nice CAPSLOCK-a (already setup in .tmux.conf instead of default CTRL-b.

Additional Configuration

Git configuration

Import your public/secret key for signing GitHub commits.

gpg --import ~/public-key.gpg
gpg --allow-secret-key-import --import ~/secret-key.gpg
gpg --list-keys

For first-time setup, generate brand new keypair with gpg: https://gist.github.com/Beneboe/3183a8a9eb53439dbee07c90b344c77e

setup-mac's People

Contributors

briangershon avatar

Watchers

 avatar  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.