SlideShare une entreprise Scribd logo
1  sur  20
Télécharger pour lire hors ligne
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 “jon@sep.com”
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/

Contenu connexe

Tendances

Automating Dev Environment - Introduction to Docker and Chef
Automating Dev Environment - Introduction to Docker and ChefAutomating Dev Environment - Introduction to Docker and Chef
Automating Dev Environment - Introduction to Docker and Chefkamalikamj
 
Installaling Puppet Master and Agent
Installaling Puppet Master and AgentInstallaling Puppet Master and Agent
Installaling Puppet Master and AgentRanjit Avasarala
 
Baking docker using chef
Baking docker using chefBaking docker using chef
Baking docker using chefMukta Aphale
 
Austin - Container Days - Docker 101
Austin - Container Days - Docker 101Austin - Container Days - Docker 101
Austin - Container Days - Docker 101Bill Maxwell
 
Automating Docker Containers with Puppet 2014 10-13
Automating Docker Containers with Puppet 2014 10-13Automating Docker Containers with Puppet 2014 10-13
Automating Docker Containers with Puppet 2014 10-13kylog
 
Package Management on Windows with Chocolatey
Package Management on Windows with ChocolateyPackage Management on Windows with Chocolatey
Package Management on Windows with ChocolateyPuppet
 
How to Improve Your Image Builds Using Advance Docker Build
How to Improve Your Image Builds Using Advance Docker BuildHow to Improve Your Image Builds Using Advance Docker Build
How to Improve Your Image Builds Using Advance Docker BuildDocker, Inc.
 
Automated Deployment with Capistrano
Automated Deployment with CapistranoAutomated Deployment with Capistrano
Automated Deployment with CapistranoSumit Chhetri
 
Vagrant + Docker provider [+Puppet]
Vagrant + Docker provider [+Puppet]Vagrant + Docker provider [+Puppet]
Vagrant + Docker provider [+Puppet]Nicolas Poggi
 
Baking Docker Using Chef
Baking Docker Using ChefBaking Docker Using Chef
Baking Docker Using ChefMukta Aphale
 
Continuous Delivery in Enterprise Environments using Docker, Ansible and Jenkins
Continuous Delivery in Enterprise Environments using Docker, Ansible and JenkinsContinuous Delivery in Enterprise Environments using Docker, Ansible and Jenkins
Continuous Delivery in Enterprise Environments using Docker, Ansible and JenkinsMarcel Birkner
 
SF DevOps: Introducing Vagrant
SF DevOps: Introducing VagrantSF DevOps: Introducing Vagrant
SF DevOps: Introducing VagrantMitchell Hashimoto
 
(APP303) Lightning Fast Deploys with Docker Containers and AWS | AWS re:Inven...
(APP303) Lightning Fast Deploys with Docker Containers and AWS | AWS re:Inven...(APP303) Lightning Fast Deploys with Docker Containers and AWS | AWS re:Inven...
(APP303) Lightning Fast Deploys with Docker Containers and AWS | AWS re:Inven...Amazon Web Services
 
Deploy django apps using docker
Deploy django apps using dockerDeploy django apps using docker
Deploy django apps using dockerThomas Kremmel
 
Delivering eBay's CI Solution with Apache Mesos & Docker - DockerCon 2014
Delivering eBay's CI Solution with Apache Mesos & Docker - DockerCon 2014Delivering eBay's CI Solution with Apache Mesos & Docker - DockerCon 2014
Delivering eBay's CI Solution with Apache Mesos & Docker - DockerCon 2014ahunnargikar
 
Continuous delivery with Jenkins, Docker and Mesos/Marathon - jbcnconf
Continuous delivery with Jenkins, Docker and Mesos/Marathon - jbcnconfContinuous delivery with Jenkins, Docker and Mesos/Marathon - jbcnconf
Continuous delivery with Jenkins, Docker and Mesos/Marathon - jbcnconfJulia Mateo
 
Ansible Introduction
Ansible Introduction Ansible Introduction
Ansible Introduction Robert Reiz
 

Tendances (20)

Automating Dev Environment - Introduction to Docker and Chef
Automating Dev Environment - Introduction to Docker and ChefAutomating Dev Environment - Introduction to Docker and Chef
Automating Dev Environment - Introduction to Docker and Chef
 
Installaling Puppet Master and Agent
Installaling Puppet Master and AgentInstallaling Puppet Master and Agent
Installaling Puppet Master and Agent
 
Baking docker using chef
Baking docker using chefBaking docker using chef
Baking docker using chef
 
Austin - Container Days - Docker 101
Austin - Container Days - Docker 101Austin - Container Days - Docker 101
Austin - Container Days - Docker 101
 
Automating Docker Containers with Puppet 2014 10-13
Automating Docker Containers with Puppet 2014 10-13Automating Docker Containers with Puppet 2014 10-13
Automating Docker Containers with Puppet 2014 10-13
 
Package Management on Windows with Chocolatey
Package Management on Windows with ChocolateyPackage Management on Windows with Chocolatey
Package Management on Windows with Chocolatey
 
Packer by HashiCorp
Packer by HashiCorpPacker by HashiCorp
Packer by HashiCorp
 
How to Improve Your Image Builds Using Advance Docker Build
How to Improve Your Image Builds Using Advance Docker BuildHow to Improve Your Image Builds Using Advance Docker Build
How to Improve Your Image Builds Using Advance Docker Build
 
Docker Started
Docker StartedDocker Started
Docker Started
 
Automated Deployment with Capistrano
Automated Deployment with CapistranoAutomated Deployment with Capistrano
Automated Deployment with Capistrano
 
Vagrant + Docker provider [+Puppet]
Vagrant + Docker provider [+Puppet]Vagrant + Docker provider [+Puppet]
Vagrant + Docker provider [+Puppet]
 
Baking Docker Using Chef
Baking Docker Using ChefBaking Docker Using Chef
Baking Docker Using Chef
 
Continuous Delivery in Enterprise Environments using Docker, Ansible and Jenkins
Continuous Delivery in Enterprise Environments using Docker, Ansible and JenkinsContinuous Delivery in Enterprise Environments using Docker, Ansible and Jenkins
Continuous Delivery in Enterprise Environments using Docker, Ansible and Jenkins
 
SF DevOps: Introducing Vagrant
SF DevOps: Introducing VagrantSF DevOps: Introducing Vagrant
SF DevOps: Introducing Vagrant
 
(APP303) Lightning Fast Deploys with Docker Containers and AWS | AWS re:Inven...
(APP303) Lightning Fast Deploys with Docker Containers and AWS | AWS re:Inven...(APP303) Lightning Fast Deploys with Docker Containers and AWS | AWS re:Inven...
(APP303) Lightning Fast Deploys with Docker Containers and AWS | AWS re:Inven...
 
Deploy django apps using docker
Deploy django apps using dockerDeploy django apps using docker
Deploy django apps using docker
 
Delivering eBay's CI Solution with Apache Mesos & Docker - DockerCon 2014
Delivering eBay's CI Solution with Apache Mesos & Docker - DockerCon 2014Delivering eBay's CI Solution with Apache Mesos & Docker - DockerCon 2014
Delivering eBay's CI Solution with Apache Mesos & Docker - DockerCon 2014
 
Continuous delivery with Jenkins, Docker and Mesos/Marathon - jbcnconf
Continuous delivery with Jenkins, Docker and Mesos/Marathon - jbcnconfContinuous delivery with Jenkins, Docker and Mesos/Marathon - jbcnconf
Continuous delivery with Jenkins, Docker and Mesos/Marathon - jbcnconf
 
Ansible Introduction
Ansible Introduction Ansible Introduction
Ansible Introduction
 
Docker presentation
Docker presentationDocker presentation
Docker presentation
 

En vedette

Round tripping your assumptions
Round tripping your assumptionsRound tripping your assumptions
Round tripping your assumptionsBob Nowadly
 
Puppet - Simple Configuration Management
Puppet - Simple Configuration ManagementPuppet - Simple Configuration Management
Puppet - Simple Configuration ManagementMike Rogers
 
Vietnam literature
Vietnam literatureVietnam literature
Vietnam literatureMa Lovely
 
Working with Images
Working with ImagesWorking with Images
Working with ImagesNicole Ryan
 
Working with Video and Audio
Working with Video and AudioWorking with Video and Audio
Working with Video and AudioNicole Ryan
 
Cse space-mouse-report
Cse space-mouse-reportCse space-mouse-report
Cse space-mouse-reportImkarthikreddy
 
dealing with dependencies, taking your architecture to rehab
dealing with dependencies, taking your architecture to rehabdealing with dependencies, taking your architecture to rehab
dealing with dependencies, taking your architecture to rehabJon Fuller
 
Ignite Talk on Chef
Ignite Talk on ChefIgnite Talk on Chef
Ignite Talk on ChefBob Nowadly
 
Gomez juan
Gomez juanGomez juan
Gomez juanjudavid6
 
Resisting/Unresisting
Resisting/UnresistingResisting/Unresisting
Resisting/Unresistingebcla
 
Servicio Comunitario Proyecto final
Servicio Comunitario Proyecto finalServicio Comunitario Proyecto final
Servicio Comunitario Proyecto finalpicoso9976
 
SaltStack Configuration Management
SaltStack Configuration ManagementSaltStack Configuration Management
SaltStack Configuration ManagementNathan Sickler
 

En vedette (16)

Round tripping your assumptions
Round tripping your assumptionsRound tripping your assumptions
Round tripping your assumptions
 
Puppet - Simple Configuration Management
Puppet - Simple Configuration ManagementPuppet - Simple Configuration Management
Puppet - Simple Configuration Management
 
Vietnam literature
Vietnam literatureVietnam literature
Vietnam literature
 
Redes 1
Redes 1Redes 1
Redes 1
 
Working with Images
Working with ImagesWorking with Images
Working with Images
 
Hoja de vida deissy mora
Hoja de vida deissy moraHoja de vida deissy mora
Hoja de vida deissy mora
 
stains
stainsstains
stains
 
Working with Video and Audio
Working with Video and AudioWorking with Video and Audio
Working with Video and Audio
 
Cse space-mouse-report
Cse space-mouse-reportCse space-mouse-report
Cse space-mouse-report
 
dealing with dependencies, taking your architecture to rehab
dealing with dependencies, taking your architecture to rehabdealing with dependencies, taking your architecture to rehab
dealing with dependencies, taking your architecture to rehab
 
Ignite Talk on Chef
Ignite Talk on ChefIgnite Talk on Chef
Ignite Talk on Chef
 
Gomez juan
Gomez juanGomez juan
Gomez juan
 
Resisting/Unresisting
Resisting/UnresistingResisting/Unresisting
Resisting/Unresisting
 
Estrategias centro acosta final(2)
Estrategias centro acosta final(2)Estrategias centro acosta final(2)
Estrategias centro acosta final(2)
 
Servicio Comunitario Proyecto final
Servicio Comunitario Proyecto finalServicio Comunitario Proyecto final
Servicio Comunitario Proyecto final
 
SaltStack Configuration Management
SaltStack Configuration ManagementSaltStack Configuration Management
SaltStack Configuration Management
 

Similaire à macos installation automation

Capifony. Minsk PHP MeetUp #11
Capifony. Minsk PHP MeetUp #11Capifony. Minsk PHP MeetUp #11
Capifony. Minsk PHP MeetUp #11Yury Pliashkou
 
Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014biicode
 
Vagrant - Version control your dev environment
Vagrant - Version control your dev environmentVagrant - Version control your dev environment
Vagrant - Version control your dev environmentbocribbz
 
Deploying Symfony | symfony.cat
Deploying Symfony | symfony.catDeploying Symfony | symfony.cat
Deploying Symfony | symfony.catPablo Godel
 
Instruction: dev environment
Instruction: dev environmentInstruction: dev environment
Instruction: dev environmentSoshi Nemoto
 
Making environment for_infrastructure_as_code
Making environment for_infrastructure_as_codeMaking environment for_infrastructure_as_code
Making environment for_infrastructure_as_codeSoshi Nemoto
 
Capistrano deploy Magento project in an efficient way
Capistrano deploy Magento project in an efficient wayCapistrano deploy Magento project in an efficient way
Capistrano deploy Magento project in an efficient waySylvain Rayé
 
Hadoop installation on windows
Hadoop installation on windows Hadoop installation on windows
Hadoop installation on windows habeebulla g
 
Continuous Delivery: The Next Frontier
Continuous Delivery: The Next FrontierContinuous Delivery: The Next Frontier
Continuous Delivery: The Next FrontierCarlos Sanchez
 
May The Nodejs Be With You
May The Nodejs Be With YouMay The Nodejs Be With You
May The Nodejs Be With YouDalibor Gogic
 
DevOps(4) : Ansible(2) - (MOSG)
DevOps(4) : Ansible(2) - (MOSG)DevOps(4) : Ansible(2) - (MOSG)
DevOps(4) : Ansible(2) - (MOSG)Soshi Nemoto
 
Toolbox of a Ruby Team
Toolbox of a Ruby TeamToolbox of a Ruby Team
Toolbox of a Ruby TeamArto Artnik
 
How to go the extra mile on monitoring
How to go the extra mile on monitoringHow to go the extra mile on monitoring
How to go the extra mile on monitoringTiago Simões
 
MeaNstack on Docker
MeaNstack on DockerMeaNstack on Docker
MeaNstack on DockerDaniel Ku
 

Similaire à macos installation automation (20)

Capifony. Minsk PHP MeetUp #11
Capifony. Minsk PHP MeetUp #11Capifony. Minsk PHP MeetUp #11
Capifony. Minsk PHP MeetUp #11
 
Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014
 
Vagrant - Version control your dev environment
Vagrant - Version control your dev environmentVagrant - Version control your dev environment
Vagrant - Version control your dev environment
 
Deploying Symfony | symfony.cat
Deploying Symfony | symfony.catDeploying Symfony | symfony.cat
Deploying Symfony | symfony.cat
 
IOS 11 setup with appium latest
IOS 11 setup with appium  latestIOS 11 setup with appium  latest
IOS 11 setup with appium latest
 
Composer
ComposerComposer
Composer
 
Instruction: dev environment
Instruction: dev environmentInstruction: dev environment
Instruction: dev environment
 
Making environment for_infrastructure_as_code
Making environment for_infrastructure_as_codeMaking environment for_infrastructure_as_code
Making environment for_infrastructure_as_code
 
Capistrano deploy Magento project in an efficient way
Capistrano deploy Magento project in an efficient wayCapistrano deploy Magento project in an efficient way
Capistrano deploy Magento project in an efficient way
 
Hadoop installation on windows
Hadoop installation on windows Hadoop installation on windows
Hadoop installation on windows
 
Sun raysetup
Sun raysetupSun raysetup
Sun raysetup
 
Continuous Delivery: The Next Frontier
Continuous Delivery: The Next FrontierContinuous Delivery: The Next Frontier
Continuous Delivery: The Next Frontier
 
Hadoop on osx
Hadoop on osxHadoop on osx
Hadoop on osx
 
May The Nodejs Be With You
May The Nodejs Be With YouMay The Nodejs Be With You
May The Nodejs Be With You
 
DevOps(4) : Ansible(2) - (MOSG)
DevOps(4) : Ansible(2) - (MOSG)DevOps(4) : Ansible(2) - (MOSG)
DevOps(4) : Ansible(2) - (MOSG)
 
Toolbox of a Ruby Team
Toolbox of a Ruby TeamToolbox of a Ruby Team
Toolbox of a Ruby Team
 
How to go the extra mile on monitoring
How to go the extra mile on monitoringHow to go the extra mile on monitoring
How to go the extra mile on monitoring
 
FreeBSD: Dev to Prod
FreeBSD: Dev to ProdFreeBSD: Dev to Prod
FreeBSD: Dev to Prod
 
grate techniques
grate techniquesgrate techniques
grate techniques
 
MeaNstack on Docker
MeaNstack on DockerMeaNstack on Docker
MeaNstack on Docker
 

Dernier

UNIT-IFLUID PROPERTIES & FLOW CHARACTERISTICS
UNIT-IFLUID PROPERTIES & FLOW CHARACTERISTICSUNIT-IFLUID PROPERTIES & FLOW CHARACTERISTICS
UNIT-IFLUID PROPERTIES & FLOW CHARACTERISTICSrknatarajan
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college projectTonystark477637
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Christo Ananth
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Dr.Costas Sachpazis
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performancesivaprakash250
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdfKamal Acharya
 
chapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringchapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringmulugeta48
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...SUHANI PANDEY
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfKamal Acharya
 
Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...Christo Ananth
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VDineshKumar4165
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingrknatarajan
 
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELLPVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELLManishPatel169454
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTbhaskargani46
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdfKamal Acharya
 

Dernier (20)

UNIT-IFLUID PROPERTIES & FLOW CHARACTERISTICS
UNIT-IFLUID PROPERTIES & FLOW CHARACTERISTICSUNIT-IFLUID PROPERTIES & FLOW CHARACTERISTICS
UNIT-IFLUID PROPERTIES & FLOW CHARACTERISTICS
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
 
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
 
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdf
 
chapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringchapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineering
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
 
Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
 
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELLPVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdf
 

macos installation automation

  • 1. 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.
  • 2. 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/
  • 3. 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
  • 4. $ /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.
  • 5. $ 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.
  • 6. $ brew cask install google-chrome $ brew cask install slack $ brew cask install microsoft-office Installing chrome, slack and office with homebrew cask.
  • 7. $ brew cask install p4merge $ brew cask install sourcetree $ brew cask install macvim $ brew cask install virtualbox Installing developer tools with homebrew cask.
  • 8. $ 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?
  • 9. $ 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.
  • 10. $ 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.
  • 11. $ 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.
  • 12. $ 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.
  • 13. $ 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.
  • 14. $ 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.
  • 15. $ 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.
  • 16. $ git config --global user.name “Jon Fuller” $ git config --global user.email “jon@sep.com” Don’t forget to configure git.
  • 17. $ git config --global merge.tool p4mergetool $ git config --global mergetool.p4mergetool.cmd <...> Then connect p4merge to git. (BeyondCompare is cool tool, but :heart: p4merge).
  • 18. 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.
  • 19.
  • 20. github.com/jonfuller/laptop I’m constantly updating this with new things I install. Follow along here: https://github.com/jonfuller/laptop/