Skip to content

Scripts to use for setup development environment on Mac OS X

License

Notifications You must be signed in to change notification settings

101sam/osx-dev-setup

Repository files navigation

LimitlessV logo

Scripts to use for setup development environment on Mac OS X

The challenges when you setup your workstation to development mode is time-consuming. I used this repository to setup my development machine.

Warning!
Some of the steps require manual changes read the instructions.

This setup targets the following area:

  • Python 2.7 & 3.6 with Virtual Environments.
  • Machine learning & Deep learning using Python 2.7 & 3.6.
  • Packages to solved trading strategies & finance challenges.
  • Packages for face recognition.
  • Databases and Datasets.

Geting started:

Section 1: Installation

Single Setup Script

Running with Git

Clone the Repo
$ cd ~; mkdir projects; cd projects
$ git clone https://github.com/limitlessv/osx-dev-setup.git;cd ~/projects/osx-dev-setup/; ./start all

Download: # Download the bash script $ curl -O https://raw.githubusercontent.com/limitlessv/osx-dev-setup/master/install-osx-python.sh # Make the script executable $ chmod 744 install-mxnet-osx-python.sh # Run the script. $ bash install-mxnet-osx-python.sh

Run the ./start Script with Command Line Arguments
 usage: ./start [option]

+---------------------------------------------------------------------+
| To install ALL packages run:                                        |
|      ./start all                                                    |
+---------------------------------------------------------------------+
| To install the following packages [bootstrap,                       |
|                                    prepareOS,                       |
|                                    brew,                            |
|                                    brewCTF,                         |
|                                    osx                              |
|                                    anaconda]                        | 
|                                    run:                             |
|     ./start python                                                  |
|                                                                     |
| (*) Personal prefered installation, in case no need to              |
|    install local databases.                                         |
+---------------------------------------------------------------------+
| To install selected packagess run:                                  |
|     ./start bootstrap prepareOS brew osx                            |
+---------------------------------------------------------------------+
| or:                                                                 |
|     ./start bootstrap prepareOS brew brewCTF osx                    |
+---------------------------------------------------------------------+
| or:                                                                 |
|     ./start bootstrap prepareOS brew brewCTF osx anaconda           |
+---------------------------------------------------------------------+
| or:                                                                 |
|     ./start bootstrap prepareOS brew brewCTF osx pydata             |
+---------------------------------------------------------------------+
| or:                                                                 |
|    ./start bootstrap prepareOS brew brewCTF osx anaconda datastores |
+---------------------------------------------------------------------+
| or:                                                                 |
|    ./start bootstrap prepareOS brew brewCTF osx pydata datastores   |
+---------------------------------------------------------------------+

Scripts tested on OS X 10.12 Sierra.

The bootstrap.sh script contains Vim customizations.

###bootstrap.sh script


The bootstrap/bootstrap.sh script will sync the dev-setup repo to your local home directory. This will include customizations for Vim, bash, curl, git, tab completion, aliases, a number of utility functions, etc. Section 2 of this repo describes some of the customizations.

Run the bootstrap/bootstrap.sh script:

$ source bootstrap/bootstrap.sh

prepareOS.sh script


Run the osx/prepareOS.sh script:

$ source osx/osxprep.sh

osxprep.sh will first install all updates. If a restart is required, simply run the script again. Once all updates are installed, osxprep.sh will then Install Xcode Command Line Tools.

If you want to go the manual route, you can also install all updates by running "App Store", selecting the "Updates" icon, then updating both the OS and installed apps.

Tools, IDEs, and Other Software Installed at the ned of this process.

  • git
  • git-lfs
  • git-flow
  • git-extras
  • github-desktop
  • python
  • wget, grep, openssh, screen, lynx, p7zip, ssh-copy-id, tree, bash-completion2, rsync
  • dropbox
  • firefox
  • google-chrome
  • Sublime 3
  • vagrant
  • vagrant-manager
  • VMware Fusion (will require a key upon launch or use 30-day free trial)
  • virtualbox
  • webstorm
  • intellij-idea / pycharm-ce
  • atom
  • iterm2
  • alfred
  • java
  • xquartz
  • vagrant
  • macdown
  • rstudio
  • rstudio-server
  • skype
  • slack
  • dropbox
  • google-backup-and-sync (formaly named google-drive)
  • evernote
  • 1password
  • gimp
  • paintbrush
  • vlc
  • whatsapp
  • google-hangouts
  • docker, boot2docker
  • gcc --without-multilib
  • cmake
  • imagemagick --with-webp

Read more on conda vs. pip vs. virtualenv:

Todo:

  • Add homebrew setup
  • Add setup for python development
  • Add setup for python development using anaconda
  • Fix setup for databases
  • Add support for more development env:
    • Add support for Java development
    • Add support for PHP development
    • Add support for Ruby development
    • Add support for Java development
  • Add support for cloud services:
    • Google
    • AWS
  • Add better documents and instructions for:
    • Python packages
      • Libraries
      • OpenCV & Face recognition.
    • macOS
      • Cheat Sheet - function and aliases
  • TBD

Insperation:

Heavily inspired by the works from:

and many others projects such as:

License

This repository contains a variety of content; some developed by Shmuel Maruani, and some from third-parties. The third-party content is distributed under the license provided by those parties.

The content developed by Shmuel Maruani is distributed under MIT License - see the LICENSE file for details.

Release History

see the CHANGES.