|
1 | | -# developer-mac-setup |
| 1 | +# **Mac Setup for Developers** |
2 | 2 | Set of Scripts and Documentation to setup Mac as Development Environment |
| 3 | + |
| 4 | + |
| 5 | +# **Prerequisite** |
| 6 | +- Make sure you have admin permission to execute script to install all the development tools. |
| 7 | +- Bash |
| 8 | +- Git client to clone this repository. If you do not have Git then you can simply download the repository. |
| 9 | +- Comment/Uncomment tools in the script per your need. |
| 10 | + |
| 11 | +Start with this Amazing .bash_profile [MAC OSX BASH PROFILE](https://natelandau.com/my-mac-osx-bash_profile/) |
| 12 | + |
| 13 | +# **Make sure Script have Execution Permission** |
| 14 | +``` |
| 15 | +chmod +x macSetup.sh |
| 16 | +``` |
| 17 | + |
| 18 | +# **Execute Script to begin Setup** |
| 19 | +``` |
| 20 | +./macSetup.sh |
| 21 | +``` |
| 22 | + |
| 23 | + |
| 24 | +## **Install Homebrew & Cask** |
| 25 | +- [x] [Homebrew](https://brew.sh) |
| 26 | +``` |
| 27 | +/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" |
| 28 | +brew tap caskroom/cask |
| 29 | +``` |
| 30 | + |
| 31 | +## **Update Homebrew** |
| 32 | +``` |
| 33 | +brew update |
| 34 | +``` |
| 35 | + |
| 36 | +## **Install Mac Command Line Tools** |
| 37 | +``` |
| 38 | +xcode-select --install |
| 39 | +``` |
| 40 | + |
| 41 | +## **Install Browsers** |
| 42 | +- [x] [Google Chrome](https://www.google.com/chrome/) |
| 43 | +- [ ] [Google Chrome Canary](https://www.google.com/chrome/canary/) |
| 44 | +- [x] [Firefox](https://www.mozilla.org/en-US/firefox/new/) |
| 45 | +- [ ] [Firefox Developer Edition](https://www.mozilla.org/en-US/firefox/developer/) |
| 46 | +``` |
| 47 | +brew cask install google-chrome |
| 48 | +brew cask install firefox |
| 49 | +# brew cask install google-chrome-canary |
| 50 | +# brew cask install firefox-developer-edition |
| 51 | +``` |
| 52 | + |
| 53 | + |
| 54 | +## **Install HashiCorp Tools** |
| 55 | +- [x] [Terraform](https://www.terraform.io) |
| 56 | +- [x] [Vault](https://www.vaultproject.io) |
| 57 | +- [x] [Consul](https://www.consul.io) |
| 58 | +- [x] [Packer](https://www.packer.io) |
| 59 | +- [x] [Nomad](https://www.nomadproject.io) |
| 60 | +- [x] [Vagrant](https://www.vagrantup.com) |
| 61 | +``` |
| 62 | +brew install terraform |
| 63 | +brew install vault |
| 64 | +brew install consul |
| 65 | +brew install nomad |
| 66 | +brew install packer |
| 67 | +brew cask install vagrant |
| 68 | +``` |
| 69 | + |
| 70 | + |
| 71 | +## **Install Virtualization Tools** |
| 72 | +- [x] [VMWare Fusion](https://www.vmware.com/products/fusion.html) |
| 73 | +- [x] [Oracle Virtualbox](https://www.virtualbox.org) |
| 74 | +- [x] [Docker](https://www.docker.com) |
| 75 | +- [x] [Vagrant Manager](http://vagrantmanager.com) |
| 76 | +``` |
| 77 | +brew cask install vmware-fusion |
| 78 | +brew cask install virtualbox |
| 79 | +brew cask install docker |
| 80 | +brew cask install vagrant-manager |
| 81 | +``` |
| 82 | + |
| 83 | + |
| 84 | +## **Install IDEs (Intellij, Visual Studio, Visual Studio Code, Android Studio)** |
| 85 | +- [x] [Intellij](https://www.jetbrains.com/idea/) |
| 86 | +- [x] [Visual Studio](https://visualstudio.microsoft.com) |
| 87 | +- [x] [Visual Studio Code](https://code.visualstudio.com) |
| 88 | +- [x] [Android Studio](https://developer.android.com/studio) |
| 89 | +``` |
| 90 | +brew cask install visual-studio-code |
| 91 | +brew cask install intellij-idea |
| 92 | +brew cask install visual-studio |
| 93 | +brew cask install android-studio |
| 94 | +``` |
| 95 | + |
| 96 | +# **Install important Visual Studio Code Extensions** |
| 97 | +If you want to add any new extension besides all the one's listed below then update vscode-extensions.txt before executing script. |
| 98 | +- [x] [GitLens — Git supercharged](https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens) |
| 99 | +- [x] [GitHub](https://marketplace.visualstudio.com/items?itemName=KnisterPeter.vscode-github) |
| 100 | +- [x] [Live Share](https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare) |
| 101 | +- [x] [Quokka.js](https://marketplace.visualstudio.com/items?itemName=WallabyJs.quokka-vscode) |
| 102 | +- [x] [Bracket Pair Colorizer](https://marketplace.visualstudio.com/items?itemName=CoenraadS.bracket-pair-colorizer) |
| 103 | +- [x] [Visual Studio IntelliCode](https://marketplace.visualstudio.com/items?itemName=VisualStudioExptTeam.vscodeintellicode) |
| 104 | +- [x] [Terraform](https://marketplace.visualstudio.com/items?itemName=mauve.terraform) |
| 105 | +- [x] [Docker](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-docker) |
| 106 | +- [x] [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer) |
| 107 | +- [x] [Python](https://marketplace.visualstudio.com/items?itemName=ms-python.python) |
| 108 | +- [x] [Path Intellisense](https://marketplace.visualstudio.com/items?itemName=christian-kohler.path-intellisense) |
| 109 | +- [x] [Remote - Containers](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers) |
| 110 | +- [x] [Markdown All in One](https://marketplace.visualstudio.com/items?itemName=yzhang.markdown-all-in-one) |
| 111 | +- [x] [open-in-browser](https://marketplace.visualstudio.com/items?itemName=techer.open-in-browser) |
| 112 | +- [x] [Code Spell Checker](https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker) |
| 113 | +- [x] [Auto Rename Tag](https://marketplace.visualstudio.com/items?itemName=formulahendry.auto-rename-tag) |
| 114 | +- [x] [Auto Close Tag](https://marketplace.visualstudio.com/items?itemName=formulahendry.auto-close-tag) |
| 115 | +- [x] [Polacode](https://marketplace.visualstudio.com/items?itemName=pnp.polacode) |
| 116 | +- [x] [Code Runner](https://marketplace.visualstudio.com/items?itemName=formulahendry.code-runner) |
| 117 | +- [x] [Paste JSON as Code](https://marketplace.visualstudio.com/items?itemName=quicktype.quicktype) |
| 118 | +- [x] [TODO Highlight](https://marketplace.visualstudio.com/items?itemName=wayou.vscode-todo-highlight) |
| 119 | +- [x] [npm](https://marketplace.visualstudio.com/items?itemName=eg2.vscode-npm-script) |
| 120 | +- [x] [Regex Previewer](https://marketplace.visualstudio.com/items?itemName=chrmarti.regex) |
| 121 | +- [x] [Git History](https://marketplace.visualstudio.com/items?itemName=donjayamanne.githistory) |
| 122 | +- [x] [AWS Toolkit for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=AmazonWebServices.aws-toolkit-vscode) |
| 123 | +- [x] [C#](https://marketplace.visualstudio.com/items?itemName=ms-vscode.csharp) |
| 124 | +``` |
| 125 | +cat ./vscode-extensions.txt | xargs -L1 code --install-extension |
| 126 | +``` |
| 127 | + |
| 128 | +## **Install AWS Tools** |
| 129 | +- [x] [AWS CLI](https://aws.amazon.com/cli/) |
| 130 | +- [x] [SAM CLI](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-install.html) |
| 131 | +``` |
| 132 | +pip3 --version |
| 133 | +curl -O https://bootstrap.pypa.io/get-pip.py |
| 134 | +python3 get-pip.py --user |
| 135 | +pip3 install awscli --upgrade --user |
| 136 | +aws --version |
| 137 | +rm get-pip.py |
| 138 | +
|
| 139 | +brew tap aws/tap |
| 140 | +brew install aws-sam-cli |
| 141 | +sam --version |
| 142 | +``` |
| 143 | + |
| 144 | +## **Install Developer Utilities** |
| 145 | +- [x] [SDKMan](https://sdkman.io) |
| 146 | +- [x] [Spectacle](https://www.spectacleapp.com) |
| 147 | +- [x] [Tree]() |
| 148 | +- [x] [Ctop](https://ctop.sh) |
| 149 | +- [x] [jq](https://stedolan.github.io/jq/) |
| 150 | +- [x] [Postman](https://www.getpostman.com) |
| 151 | +- [x] [httpie](https://httpie.org) |
| 152 | +- [x] [NVM](https://github.com/nvm-sh/nvm) |
| 153 | +- [x] [Bash Completion](https://github.com/scop/bash-completion) |
| 154 | +``` |
| 155 | +curl -s "https://get.sdkman.io" | bash |
| 156 | +brew cask install spectacle |
| 157 | +brew install tree |
| 158 | +brew install ctop |
| 159 | +brew install jq |
| 160 | +brew cask install postman |
| 161 | +brew install httpie |
| 162 | +
|
| 163 | +brew install nvm |
| 164 | +mkdir ~/.nvm |
| 165 | +## TO DO Add to .bash_profile |
| 166 | +
|
| 167 | +brew install bash-completion |
| 168 | +## TO DO Add to .bash_profile |
| 169 | +``` |
| 170 | + |
| 171 | +## **Install Language SDKs/Platforms** |
| 172 | +- [x] [Dotnet SDK](https://dotnet.microsoft.com/download) |
| 173 | +- [x] [Go](https://golang.org) |
| 174 | +``` |
| 175 | +brew cask install dotnet-sdk |
| 176 | +brew cask install go |
| 177 | +``` |
| 178 | + |
| 179 | +## **Install Database Tools** |
| 180 | +- [x] [PGAdmin](https://www.pgadmin.org) |
| 181 | +- [x] [Mongo Studio 3T](https://studio3t.com) |
| 182 | +``` |
| 183 | +brew cask install pgadmin4 |
| 184 | +brew cask install studio-3t |
| 185 | +``` |
| 186 | + |
| 187 | + |
| 188 | +## **Install Productivity Tools** |
| 189 | +- [x] [Slack](https://slack.com) |
| 190 | +- [x] [Evernote](https://evernote.com) |
| 191 | +- [x] [The Unarchiver](https://theunarchiver.com) |
| 192 | +- [x] [CheatSheet](https://mediaatelier.com/CheatSheet/) |
| 193 | +- [x] [Adobe Creative Cloud](https://www.adobe.com/creativecloud.html) |
| 194 | +``` |
| 195 | +brew cask install slack |
| 196 | +brew cask install evernote |
| 197 | +brew cask install the-unarchiver |
| 198 | +brew cask install cheatsheet |
| 199 | +brew cask install adobe-creative-cloud |
| 200 | +``` |
| 201 | + |
| 202 | + |
| 203 | +## **Global Git Config** |
| 204 | +``` |
| 205 | +git config --global push.default current |
| 206 | +git config --global core.excludesfile ~/.gitignore |
| 207 | +git config --global user.name "<username>" |
| 208 | +git config --global user.email <email> |
| 209 | +git config --global color.branch auto |
| 210 | +git config --global color.diff auto |
| 211 | +git config --global color.interactive auto |
| 212 | +git config --global color.status auto |
| 213 | +git config --global alias.st status |
| 214 | +git config --global alias.ci commit |
| 215 | +git config --global alias.co checkout |
| 216 | +git config --global alias.br branch |
| 217 | +git config --global alias.lg "log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue <%an>%Creset' --abbrev-commit --date=relative" |
| 218 | +``` |
| 219 | + |
| 220 | +## **Setup Docker Aliases** |
| 221 | +``` |
| 222 | +alias dps='docker ps -a' |
| 223 | +alias di='docker images -a' |
| 224 | +alias dv='docker volume ls' |
| 225 | +alias dn='docker network ls' |
| 226 | +alias sprune='docker system prune' |
| 227 | +alias vprune='docker volume prune' |
| 228 | +``` |
| 229 | + |
| 230 | +## **Docker Swarm Aliases** |
| 231 | +``` |
| 232 | +alias dstr='docker stack rm' |
| 233 | +alias dsls='docker service ls' |
| 234 | +alias dsp='docker service ps' |
| 235 | +alias dsl='docker service logs' |
| 236 | +alias dsr='docker service rm' |
| 237 | +``` |
| 238 | + |
| 239 | +# **Resources** |
| 240 | +- [MAC OSX BASH PROFILE](https://natelandau.com/my-mac-osx-bash_profile/) |
| 241 | +- [New MacBook Setup for Developers by Dan Vega](https://dev.to/therealdanvega/new-macbook-setup-for-developers-2nma) |
0 commit comments