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.
$ 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
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.
- Single Setup Script
- bootstrap/bootstrap.sh script
- Syncs dev-setup to your local home directory
~
- Syncs dev-setup to your local home directory
- osx/prepareOS.sh script
- Updates OS X and installs Xcode command line tools
- homebrew/brew.sh script
- Installs common Homebrew formulae and apps
- homebrew/brew-CTF.sh script
- Installs Capture the Flag (CTF) is a special kind of information security competitions.
- osx/osx.sh script
- Sets up OS X defaults geared towards developers
- python/pyAnaconda.sh script
- Sets up python using Anaconda distribution
- Setup py36 virtual enviroment.
- Setup py27 virtual enviroment.
- pydata.sh script
- Sets up python for data analysis
- Setup py36 virtual enviroment.
- Setup py27 virtual enviroment.
- datastores.sh script
- Sets up common data stores
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
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.
- 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
- google-hangouts
- docker, boot2docker
- gcc --without-multilib
- cmake
- imagemagick --with-webp
Read more on conda vs. pip vs. virtualenv:
- 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:
- AWS
- Add better documents and instructions for:
- Python packages
- Libraries
- OpenCV & Face recognition.
- macOS
- Cheat Sheet - function and aliases
- TBD
Heavily inspired by the works from:
- https://github.com/necolas/dotfiles
- https://github.com/donnemartin/dev-setup
- https://gist.github.com/cowboy/3118588
and many others projects such as:
- https://gist.github.com/t-io/8255711
- https://github.com/svett/mac-osx-dev-setup
- https://github.com/StriveForBest/osx-dev-environment-setup
- https://github.com/donnemartin/data-science-ipython-notebooks
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.
see the CHANGES.