Digidoorii Installation Instructions - JD Gates Automation ...
macos installation automation
-
Upload
jon-fuller -
Category
Engineering
-
view
3.616 -
download
0
Transcript of macos installation automation
i got a new laptop
Recently, I got a new laptop. This time, instead of going and installing all the software I needed willy nilly, I decided to document how I went about setting it up.
I documented it with BASH
I decided to document my set up as an executable.
I scripted the whole thing in a shell script, and it’s available here: https://github.com/jonfuller/laptop/
thoughtbot
The cool guys over at thoughtbot (https://thoughtbot.com/) have done this before too. I was inspired by their work here: https://github.com/thoughtbot/laptop
$ /usr/bin/ruby -e \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
If you’re a macos user, homebrew is a must.
Coined as “The missing package manager for macOS” (https://brew.sh/, also https://github.com/Homebrew/brew/)
A developer’s best friend. It uses the “system ruby” to install itself.
$ brew tap caskroom/cask
Homebrew Cask (https://caskroom.github.io/) is a plugin on top of Homebrew. It’s for installing things that are DMG’s and pkg’s.
Install things like slack and chrome.
$ brew cask install google-chrome$ brew cask install slack$ brew cask install microsoft-office
Installing chrome, slack and office with homebrew cask.
$ brew cask install p4merge$ brew cask install sourcetree$ brew cask install macvim$ brew cask install virtualbox
Installing developer tools with homebrew cask.
$ brew install git$ brew install openssl$ brew install wget # ← WAT!?$ brew install redis$ brew install node
Installing developer tools with homebrew.
Sidenote: what kind of OS doesn’t ship with wget?
$ brew install mas$ mas install `mas search "Kindle" | head -1 | cut -d ' ' -f 1`
mas (stands for Mac App Store) is a command line interface for interacting with the Mac App Store.
This is a great way to keep system apps and updates as well as other 3rd party apps (e.g. Twitter, Kindle, etc.) installed and up to date.
$ mas install `mas search "XCode" | head -1 | cut -d ' ' -f 1`
On macos, setting up a dev environment, starts with XCode.That gets you GCC tools, clang, everything you’ll need for node, ruby, xamarin, ios, etc.
$ gpg --keyserver hkp://keys.gnupg.net --recv-keys \ 409B6B1796C275462A1703113804BB82D39DC0E3$ \curl -sSL https://get.rvm.io | bash -s stable$ source ~/.rvm/scripts/rvm$ rvm install 2.4$ rvm install 2.3$ rvm all do gem update --system$ rvm all do gem install bundler
ruby is a must for most web developers; and rvm is a must for ruby developers.
Bootstrap your ruby install like this.
$ brew cask install postgres$ mas install `mas search "PG Commander" | head -1 | cut -d ' ' -f 1`$ bundle config build.pg --with-pg-config=/Applications/<...>/bin/pg_config$ echo "export PATH=$PATH:/Applications/<...>/latest/bin" >> ~/.zshrc
If you’re using a database in development, you’ll probably want to try out Postgres.
Install postgres, some nice tooling, and configure bundler to point at your postgres install.
$ brew install heroku-toolbelt
$ heroku update
$ heroku login
I love deploying apps to heroku, this’ll get you ready to go with heroku on your new machine.
$ wget https://dl.xamarin.com/installer/XamarinInstaller.dmg$ hdiutil attach -noautoopen XamarinInstaller.dmg$ open /Volumes/Xamarin\ Installer/Install\ Xamarin.app
I make mobile apps in my day job with Xamarin.
There is a cask for this, but it didn’t work quite correctly. This will download and launch the latest Xamarin installer.
$ softwareupdate -ir --verbvose
Macos is no stranger to OS updates. Thankfully softwareupdate is here to help us invoke these from the command line as well.
$ git config --global user.name “Jon Fuller”
$ git config --global user.email “[email protected]”
Don’t forget to configure git.
$ git config --global merge.tool p4mergetool
$ git config --global mergetool.p4mergetool.cmd <...>
Then connect p4merge to git. (BeyondCompare is cool tool, but :heart: p4merge).
no dice
We use AnyConnect for VPN stuffs. The nature of Cisco AnyConnect is that they don’t distribute it freely; so, I didn’t find a great way to automate the installation of it.
github.com/jonfuller/laptop
I’m constantly updating this with new things I install. Follow along here: https://github.com/jonfuller/laptop/