diff --git a/.aliases b/.dotfiles/tag-dev-setup/aliases similarity index 100% rename from .aliases rename to .dotfiles/tag-dev-setup/aliases diff --git a/.aws/config b/.dotfiles/tag-dev-setup/aws/config similarity index 100% rename from .aws/config rename to .dotfiles/tag-dev-setup/aws/config diff --git a/.aws/credentials b/.dotfiles/tag-dev-setup/aws/credentials similarity index 100% rename from .aws/credentials rename to .dotfiles/tag-dev-setup/aws/credentials diff --git a/.bash_profile b/.dotfiles/tag-dev-setup/bash_profile similarity index 100% rename from .bash_profile rename to .dotfiles/tag-dev-setup/bash_profile diff --git a/.bash_prompt b/.dotfiles/tag-dev-setup/bash_prompt similarity index 100% rename from .bash_prompt rename to .dotfiles/tag-dev-setup/bash_prompt diff --git a/.bashrc b/.dotfiles/tag-dev-setup/bashrc similarity index 100% rename from .bashrc rename to .dotfiles/tag-dev-setup/bashrc diff --git a/bin/bash b/.dotfiles/tag-dev-setup/bin/bash similarity index 100% rename from bin/bash rename to .dotfiles/tag-dev-setup/bin/bash diff --git a/bin/httpcompression b/.dotfiles/tag-dev-setup/bin/httpcompression similarity index 99% rename from bin/httpcompression rename to .dotfiles/tag-dev-setup/bin/httpcompression index 544c2b1f7..b9de205ed 100755 --- a/bin/httpcompression +++ b/.dotfiles/tag-dev-setup/bin/httpcompression @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/bin/bash # DESCRIPTION: # diff --git a/bin/subl b/.dotfiles/tag-dev-setup/bin/subl similarity index 100% rename from bin/subl rename to .dotfiles/tag-dev-setup/bin/subl diff --git a/.curlrc b/.dotfiles/tag-dev-setup/curlrc similarity index 100% rename from .curlrc rename to .dotfiles/tag-dev-setup/curlrc diff --git a/.dotfiles/tag-dev-setup/dev-setup/brewfiles/android b/.dotfiles/tag-dev-setup/dev-setup/brewfiles/android new file mode 100644 index 000000000..9fcd14fdd --- /dev/null +++ b/.dotfiles/tag-dev-setup/dev-setup/brewfiles/android @@ -0,0 +1,8 @@ +cask_args appdir: "/Applications" + +brew "android-sdk" + +cask "java" +cask "intellij-idea-ce" +cask "android-studio" + diff --git a/.dotfiles/tag-dev-setup/dev-setup/brewfiles/aws b/.dotfiles/tag-dev-setup/dev-setup/brewfiles/aws new file mode 100644 index 000000000..c882158e3 --- /dev/null +++ b/.dotfiles/tag-dev-setup/dev-setup/brewfiles/aws @@ -0,0 +1 @@ +brew "apache-spark" diff --git a/.dotfiles/tag-dev-setup/dev-setup/brewfiles/base b/.dotfiles/tag-dev-setup/dev-setup/brewfiles/base new file mode 100644 index 000000000..01958ca45 --- /dev/null +++ b/.dotfiles/tag-dev-setup/dev-setup/brewfiles/base @@ -0,0 +1,3 @@ +tap "thoughtbot/formulae" + +brew "rcm" diff --git a/.dotfiles/tag-dev-setup/dev-setup/brewfiles/datastores b/.dotfiles/tag-dev-setup/dev-setup/brewfiles/datastores new file mode 100644 index 000000000..0ef94fa61 --- /dev/null +++ b/.dotfiles/tag-dev-setup/dev-setup/brewfiles/datastores @@ -0,0 +1,11 @@ +cask_args appdir: "/Applications" + +# Install data stores +brew "mysql" +brew "postgresql" +brew "mongo" +brew "redis" +brew "elasticsearch" + +# Install mysql workbench +cask "mysqlworkbench" diff --git a/.dotfiles/tag-dev-setup/dev-setup/brewfiles/essentials b/.dotfiles/tag-dev-setup/dev-setup/brewfiles/essentials new file mode 100644 index 000000000..dda17937f --- /dev/null +++ b/.dotfiles/tag-dev-setup/dev-setup/brewfiles/essentials @@ -0,0 +1,147 @@ +cask_args appdir: "/Applications" + +tap "homebrew/versions" +tap "bramstein/webfonttools" + +brew "coreutils" + +# Install some other useful utilities like `sponge`. +brew "moreutils" + +# Install GNU `find`, `locate`, `updatedb`, and `xargs`, `g`-prefixed. +brew "findutils" + +# Install GNU `sed`, overwriting the built-in `sed`. +brew "gnu-sed", args: ["with-default-names"] + +# Install Bash 4. +brew "bash" + +brew "bash-completion2" + +# Install `wget` with IRI support. +brew "wget", args: ["with-iri"] + +# Install RingoJS and Narwhal. +# Note that the order in which these are installed is important; +# see http://git.io/brew-narwhal-ringo. +brew "ringojs" +brew "narwhal" + +# Install Python +brew "python" +brew "python3" + +# Install ruby-build and rbenv +brew "ruby-build" +brew "rbenv" + +# Install more recent versions of some OS X tools. +brew "vim", args: ["override-system-vi"] +brew "homebrew/dupes/grep" +brew "homebrew/dupes/openssh" +brew "homebrew/dupes/screen" +brew "homebrew/php/php55", args: ["with-gmp"] + +# Install font tools. + +brew "sfnt2woff" +brew "sfnt2woff-zopfli" +brew "woff2" + +# Install some CTF tools; see https://github.com/ctfs/write-ups. +brew "aircrack-ng" +brew "bfg" +brew "binutils" +brew "binwalk" +brew "cifer" +brew "dex2jar" +brew "dns2tcp" +brew "fcrackzip" +brew "foremost" +brew "hashpump" +brew "hydra" +brew "john" +brew "knock" +brew "netpbm" +brew "nmap" +brew "pngcheck" +brew "socat" +brew "sqlmap" +brew "tcpflow" +brew "tcpreplay" +brew "tcptrace" +brew "ucspi-tcp" # `tcpserver` etc. +brew "homebrew/x11/xpdf" +brew "xz" + +# Install other useful binaries. +brew "ack" +brew "dark-mode" +#brew "exiv2" +brew "git" +brew "git-lfs" +brew "git-flow" +brew "git-extras" +brew "hub" +brew "imagemagick", args: ["with-webp"] +brew "lua" +brew "lynx" +brew "p7zip" +brew "pigz" +brew "pv" +brew "rename" +brew "rhino" +brew "speedtest_cli" +brew "ssh-copy-id" +brew "tree" +brew "webkit2png" +brew "zopfli" +brew "pkg-config libffi" +brew "pandoc" + +# Lxml and Libxslt +brew "libxml2" +brew "libxslt" + +# Install Heroku +brew "heroku-toolbelt" + +# Core casks +cask "alfred" +cask "iterm2" +cask "java" +cask "xquartz" + +# Development tool casks +cask "sublime-text" +cask "atom" +cask "virtualbox" +cask "vagrant" +cask "macdown" + +# Misc casks +cask "google-chrome" +cask "firefox" +cask "skype" +cask "slack" +cask "dropbox" +cask "evernote" +cask "1password" +#cask "gimp" +#cask "inkscape + +# Install Docker, which requires virtualbox +brew "docker" +brew "boot2docker" + +# Install developer friendly quick look plugins; see https://github.com/sindresorhus/quick-look-plugins +cask "qlcolorcode" +cask "qlstephen" +cask "qlmarkdown" +cask "quicklook-json" +cask "qlimagesize" +cask "webpquicklook" +cask "suspicious-package" +cask "quicklookase" +cask "qlvideo" diff --git a/.dotfiles/tag-dev-setup/dev-setup/brewfiles/web b/.dotfiles/tag-dev-setup/dev-setup/brewfiles/web new file mode 100644 index 000000000..e4feee601 --- /dev/null +++ b/.dotfiles/tag-dev-setup/dev-setup/brewfiles/web @@ -0,0 +1 @@ +brew "node" diff --git a/.dotfiles/tag-dev-setup/dev-setup/modules/android.sh b/.dotfiles/tag-dev-setup/dev-setup/modules/android.sh new file mode 100755 index 000000000..59217a0c7 --- /dev/null +++ b/.dotfiles/tag-dev-setup/dev-setup/modules/android.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +readonly SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +echo "------------------------------" +echo "Setting up Android development environment." +echo "------------------------------" +echo "" + +brew bundle install --file="${SCRIPT_DIR}/../brewfiles/android" diff --git a/aws.sh b/.dotfiles/tag-dev-setup/dev-setup/modules/aws.sh similarity index 86% rename from aws.sh rename to .dotfiles/tag-dev-setup/dev-setup/modules/aws.sh index e8b6fefa9..48f6052d1 100755 --- a/aws.sh +++ b/.dotfiles/tag-dev-setup/dev-setup/modules/aws.sh @@ -1,10 +1,11 @@ -#!/usr/bin/env bash +#!/bin/bash -# ~/aws.sh +readonly SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -# Removed user's cached credentials -# This script might be run with .dots, which uses elevated privileges -sudo -K +echo "------------------------------" +echo "Setting up AWS development environment." +echo "------------------------------" +echo "" echo "------------------------------" echo "Setting up AWS." @@ -72,17 +73,7 @@ pip install awscli # System-Wide Packages # ############################################################################### -# Check for Homebrew, -# Install if we don't have it -if test ! $(which brew); then - echo "Installing homebrew..." - ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" -fi - -# Make sure we’re using the latest Homebrew. -brew update - -brew install apache-spark +brew bundle install --file="${SCRIPT_DIR}/../brewfiles/aws" ############################################################################### # Install IPython Notebook Spark Integration @@ -91,9 +82,6 @@ brew install apache-spark echo "------------------------------" echo "Installing IPython Notebook Spark integration" -# Add the pyspark IPython profile -cp -r init/profile_pyspark/ ~/.ipython/profile_pyspark - BASH_PROFILE_PATH=~/.bash_profile echo $BASH_PROFILE_PATH echo "" >> $BASH_PROFILE_PATH @@ -110,4 +98,4 @@ echo "------------------------------" echo "TODO: Update .aws/ with your AWS credentials and region, or run aws --configure." echo "TODO: Update .mrjob.conf with your credentials, keypair, keypair location, region, and bucket info." echo "TODO: Update .s3cfg with your credentials, location, and passphrase or run s3cmd --configure." -echo "Script completed." \ No newline at end of file +echo "Script completed." diff --git a/.dotfiles/tag-dev-setup/dev-setup/modules/base.sh b/.dotfiles/tag-dev-setup/dev-setup/modules/base.sh new file mode 100755 index 000000000..c3d219246 --- /dev/null +++ b/.dotfiles/tag-dev-setup/dev-setup/modules/base.sh @@ -0,0 +1,31 @@ +#!/bin/bash + +readonly SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +if [[ $(command -v brew) == "" ]]; then + echo "Installing homebrew..." + /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" +else + echo "Updating homebrew..." + brew update +fi + + +if [[ $(command -v rcup) == "" ]]; then + + echo "------------------------------" + echo "Installing rcm suite" + + brew bundle install --file="${SCRIPT_DIR}/../brewfiles/base" +fi + + +echo "------------------------------" +echo "Updating and/or installing dotfiles" +echo "------------------------------" + +# Update and/or install dotfiles. These dotfiles are stored in the .dotfiles directory. +# rcup is used to install files from the tag-specific dotfiles directory. +# rcup is part of rcm, a management suite for dotfiles +# Check https://github.com/thoughtbot/rcm for more info +env RCRC=".rcrc" rcup diff --git a/.dotfiles/tag-dev-setup/dev-setup/modules/datastores.sh b/.dotfiles/tag-dev-setup/dev-setup/modules/datastores.sh new file mode 100755 index 000000000..8c8b6f0f2 --- /dev/null +++ b/.dotfiles/tag-dev-setup/dev-setup/modules/datastores.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +readonly SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +echo "------------------------------" +echo "Setting up data stores." +echo "------------------------------" +echo "" + +brew bundle install --file="${SCRIPT_DIR}/../brewfiles/datastores" diff --git a/.dotfiles/tag-dev-setup/dev-setup/modules/essentials.sh b/.dotfiles/tag-dev-setup/dev-setup/modules/essentials.sh new file mode 100755 index 000000000..a1ecc788a --- /dev/null +++ b/.dotfiles/tag-dev-setup/dev-setup/modules/essentials.sh @@ -0,0 +1,37 @@ +#!/bin/bash + +readonly SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +# Run the core.sh Script +# For a full listing of installed formulae and apps, refer to +# the commented core.sh source file directly and tweak it to +# suit your needs. + +echo "------------------------------" +echo "Installing essential homebrew formulae and apps." +echo "This might awhile to complete, as some formulae need to be installed from source." +echo "------------------------------" +echo "" + +brew bundle install --file="${SCRIPT_DIR}/../brewfiles/essentials" + +# GNU core utilities (those that come with OS X are outdated). +# Don’t forget to add `$(brew --prefix coreutils)/libexec/gnubin` to `$PATH`. +ln -s /usr/local/bin/gsha256sum /usr/local/bin/sha256sum + +# We installed the new shell, now we have to activate it +echo "Adding the newly installed shell to the list of allowed shells" +# Prompts for password +sudo bash -c 'echo /usr/local/bin/bash >> /etc/shells' +# Change to the new shell, prompts for password +chsh -s /usr/local/bin/bash + +LINE='eval "$(rbenv init -)"' +grep -q "$LINE" ~/.extra || echo "$LINE" >> ~/.extra + +# Lxml and Libxslt +brew link libxml2 --force +brew link libxslt --force + +# Heroku +heroku update diff --git a/osx.sh b/.dotfiles/tag-dev-setup/dev-setup/modules/macos.sh similarity index 98% rename from osx.sh rename to .dotfiles/tag-dev-setup/dev-setup/modules/macos.sh index 14cdfba54..8f667a6fe 100755 --- a/osx.sh +++ b/.dotfiles/tag-dev-setup/dev-setup/modules/macos.sh @@ -1,13 +1,25 @@ -#!/usr/bin/env bash +#!/bin/bash + +if [[ "${EUID}" -ne 0 ]]; then + echo "This module requires sudo rights." + echo "You should run this module using the dev-setup script in your home directory." + exit 1 +fi + +# Run the osx.sh Script +# I strongly suggest you read through the commented osx.sh +# source file and tweak any settings based on your personal +# preferences. The script defaults are intended for you to +# customize. For example, if you are not running an SSD you +# might want to change some of the settings listed in the +# SSD section. +echo "------------------------------" +echo "Setting sensible macos defaults." +echo "------------------------------" +echo "" # ~/osx.sh — Originally from https://mths.be/osx -# Ask for the administrator password upfront -sudo -v - -# Keep-alive: update existing `sudo` time stamp until `osx.sh` has finished -while true; do sudo -n true; sleep 60; kill -0 "$$" || exit; done 2>/dev/null & - ############################################################################### # General UI/UX # ############################################################################### @@ -586,7 +598,7 @@ tell application "Terminal" (* Open the custom theme so that it gets added to the list of available terminal themes (note: this will open two additional terminal windows). *) - do shell script "open '$HOME/init/" & themeName & ".terminal'" + do shell script "open '$HOME/.dev-setup/themes/" & themeName & ".terminal'" (* Wait a little bit to ensure that the custom theme is added. *) delay 1 @@ -640,7 +652,7 @@ start_if_needed() { # Install the Solarized Dark theme for iTerm start_if_needed iTerm -open "${HOME}/init/Solarized Dark.itermcolors" +open "${HOME}/.dev-setup/themes/Solarized Dark.itermcolors" # Don’t display the annoying prompt when quitting iTerm defaults write com.googlecode.iterm2 PromptOnQuit -bool false @@ -774,7 +786,7 @@ defaults write com.irradiatedsoftware.SizeUp ShowPrefsOnNextStart -bool false ############################################################################### # Install Sublime Text settings -cp -r init/Preferences.sublime-settings ~/Library/Application\ Support/Sublime\ Text*/Packages/User/Preferences.sublime-settings 2> /dev/null +cp -r ${HOME}/.dev-setup/themes/Preferences.sublime-settings ~/Library/Application\ Support/Sublime\ Text*/Packages/User/Preferences.sublime-settings 2> /dev/null ############################################################################### # Transmission.app # diff --git a/.dotfiles/tag-dev-setup/dev-setup/modules/macosupdate.sh b/.dotfiles/tag-dev-setup/dev-setup/modules/macosupdate.sh new file mode 100755 index 000000000..a18180cc2 --- /dev/null +++ b/.dotfiles/tag-dev-setup/dev-setup/modules/macosupdate.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +if [[ "${EUID}" -ne 0 ]]; then + echo "This module requires sudo rights." + echo "You should run this module using the dev-setup script in your home directory." + exit 1 +fi + +echo "------------------------------" +echo "Updating macOS. If this requires a restart, run the script again." +echo "------------------------------" +echo "" + +# Install all available updates +sudo softwareupdate -i -a + +# homebrew is installing xcode there this step is not needed +# for convenience i am leaving this here +#if [[ -z $(xcode-select -p) ]]; then +# echo "------------------------------" +# echo "Installing Xcode Command Line Tools." +# +# xcode-select --install +#fi diff --git a/pydata.sh b/.dotfiles/tag-dev-setup/dev-setup/modules/pydata.sh similarity index 89% rename from pydata.sh rename to .dotfiles/tag-dev-setup/dev-setup/modules/pydata.sh index ebdb710d4..c66a76036 100755 --- a/pydata.sh +++ b/.dotfiles/tag-dev-setup/dev-setup/modules/pydata.sh @@ -1,10 +1,9 @@ -#!/usr/bin/env bash +#!/bin/bash -# ~/pydata.sh - -# Removed user's cached credentials -# This script might be run with .dots, which uses elevated privileges -sudo -K +echo "------------------------------" +echo "Setting up Python data development environment." +echo "------------------------------" +echo "" echo "------------------------------" echo "Setting up pip." @@ -97,14 +96,8 @@ pip install mysqlclient # Install IPython Profile ############################################################################### -echo "------------------------------" -echo "Installing IPython Notebook Default Profile" - -# Add the IPython profile -mkdir -p ~/.ipython -cp -r init/profile_default/ ~/.ipython/profile_default echo "------------------------------" echo "Script completed." echo "Usage: workon py2-data for Python2" -echo "Usage: workon py3-data for Python3" \ No newline at end of file +echo "Usage: workon py3-data for Python3" diff --git a/.dotfiles/tag-dev-setup/dev-setup/modules/web.sh b/.dotfiles/tag-dev-setup/dev-setup/modules/web.sh new file mode 100755 index 000000000..e17e7d904 --- /dev/null +++ b/.dotfiles/tag-dev-setup/dev-setup/modules/web.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +readonly SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +echo "------------------------------" +echo "Setting up JavaScript web development environment." +echo "------------------------------" +echo "" + +brew bundle install --file="${SCRIPT_DIR}/../brewfiles/web" + +npm install -g coffee-script +npm install -g grunt-cli +npm install -g jshint +npm install -g less + +#gem install jekyll diff --git a/init/Preferences.sublime-settings b/.dotfiles/tag-dev-setup/dev-setup/themes/Preferences.sublime-settings similarity index 100% rename from init/Preferences.sublime-settings rename to .dotfiles/tag-dev-setup/dev-setup/themes/Preferences.sublime-settings diff --git a/init/Solarized Dark xterm-256color.terminal b/.dotfiles/tag-dev-setup/dev-setup/themes/Solarized Dark xterm-256color.terminal similarity index 100% rename from init/Solarized Dark xterm-256color.terminal rename to .dotfiles/tag-dev-setup/dev-setup/themes/Solarized Dark xterm-256color.terminal diff --git a/init/Solarized Dark.itermcolors b/.dotfiles/tag-dev-setup/dev-setup/themes/Solarized Dark.itermcolors similarity index 100% rename from init/Solarized Dark.itermcolors rename to .dotfiles/tag-dev-setup/dev-setup/themes/Solarized Dark.itermcolors diff --git a/.dotfiles/tag-dev-setup/dev-setup/update.sh b/.dotfiles/tag-dev-setup/dev-setup/update.sh new file mode 100755 index 000000000..533231a5d --- /dev/null +++ b/.dotfiles/tag-dev-setup/dev-setup/update.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +# Change this update file in your rcm tag directory to your needs +# You should consider adapting the username to point to your repo +readonly username="omares" +readonly version="master" + +readonly download_uri="https://github.com/${username}/dev-setup/tarball/${version}" + +echo "Update via tarball download and extraction" +provision_enabled && curl -#L ${download_uri} | tar -xv --strip-components 1 --exclude={README.md,LICENSE} + + diff --git a/.editorconfig b/.dotfiles/tag-dev-setup/editorconfig similarity index 100% rename from .editorconfig rename to .dotfiles/tag-dev-setup/editorconfig diff --git a/.exports b/.dotfiles/tag-dev-setup/exports similarity index 100% rename from .exports rename to .dotfiles/tag-dev-setup/exports diff --git a/.functions b/.dotfiles/tag-dev-setup/functions similarity index 100% rename from .functions rename to .dotfiles/tag-dev-setup/functions diff --git a/.gdbinit b/.dotfiles/tag-dev-setup/gdbinit similarity index 100% rename from .gdbinit rename to .dotfiles/tag-dev-setup/gdbinit diff --git a/.gitattributes b/.dotfiles/tag-dev-setup/gitattributes similarity index 100% rename from .gitattributes rename to .dotfiles/tag-dev-setup/gitattributes diff --git a/.gitconfig b/.dotfiles/tag-dev-setup/gitconfig similarity index 100% rename from .gitconfig rename to .dotfiles/tag-dev-setup/gitconfig diff --git a/.gitignore b/.dotfiles/tag-dev-setup/gitignore similarity index 100% rename from .gitignore rename to .dotfiles/tag-dev-setup/gitignore diff --git a/.gvimrc b/.dotfiles/tag-dev-setup/gvimrc similarity index 100% rename from .gvimrc rename to .dotfiles/tag-dev-setup/gvimrc diff --git a/.hgignore b/.dotfiles/tag-dev-setup/hgignore similarity index 100% rename from .hgignore rename to .dotfiles/tag-dev-setup/hgignore diff --git a/.hushlogin b/.dotfiles/tag-dev-setup/hushlogin similarity index 100% rename from .hushlogin rename to .dotfiles/tag-dev-setup/hushlogin diff --git a/.inputrc b/.dotfiles/tag-dev-setup/inputrc similarity index 100% rename from .inputrc rename to .dotfiles/tag-dev-setup/inputrc diff --git a/init/profile_default/startup/README b/.dotfiles/tag-dev-setup/ipython/profile_default/startup/README similarity index 100% rename from init/profile_default/startup/README rename to .dotfiles/tag-dev-setup/ipython/profile_default/startup/README diff --git a/init/profile_default/static/custom/custom.css b/.dotfiles/tag-dev-setup/ipython/profile_default/static/custom/custom.css similarity index 100% rename from init/profile_default/static/custom/custom.css rename to .dotfiles/tag-dev-setup/ipython/profile_default/static/custom/custom.css diff --git a/init/profile_default/static/custom/custom.js b/.dotfiles/tag-dev-setup/ipython/profile_default/static/custom/custom.js similarity index 100% rename from init/profile_default/static/custom/custom.js rename to .dotfiles/tag-dev-setup/ipython/profile_default/static/custom/custom.js diff --git a/init/profile_pyspark/history.sqlite b/.dotfiles/tag-dev-setup/ipython/profile_pyspark/history.sqlite similarity index 100% rename from init/profile_pyspark/history.sqlite rename to .dotfiles/tag-dev-setup/ipython/profile_pyspark/history.sqlite diff --git a/init/profile_pyspark/ipython_config.py b/.dotfiles/tag-dev-setup/ipython/profile_pyspark/ipython_config.py similarity index 100% rename from init/profile_pyspark/ipython_config.py rename to .dotfiles/tag-dev-setup/ipython/profile_pyspark/ipython_config.py diff --git a/init/profile_pyspark/ipython_nbconvert_config.py b/.dotfiles/tag-dev-setup/ipython/profile_pyspark/ipython_nbconvert_config.py similarity index 100% rename from init/profile_pyspark/ipython_nbconvert_config.py rename to .dotfiles/tag-dev-setup/ipython/profile_pyspark/ipython_nbconvert_config.py diff --git a/init/profile_pyspark/ipython_notebook_config.py b/.dotfiles/tag-dev-setup/ipython/profile_pyspark/ipython_notebook_config.py similarity index 100% rename from init/profile_pyspark/ipython_notebook_config.py rename to .dotfiles/tag-dev-setup/ipython/profile_pyspark/ipython_notebook_config.py diff --git a/init/profile_pyspark/ipython_qtconsole_config.py b/.dotfiles/tag-dev-setup/ipython/profile_pyspark/ipython_qtconsole_config.py similarity index 100% rename from init/profile_pyspark/ipython_qtconsole_config.py rename to .dotfiles/tag-dev-setup/ipython/profile_pyspark/ipython_qtconsole_config.py diff --git a/init/profile_pyspark/startup/00-pyspark-setup.py b/.dotfiles/tag-dev-setup/ipython/profile_pyspark/startup/00-pyspark-setup.py similarity index 100% rename from init/profile_pyspark/startup/00-pyspark-setup.py rename to .dotfiles/tag-dev-setup/ipython/profile_pyspark/startup/00-pyspark-setup.py diff --git a/init/profile_pyspark/startup/README b/.dotfiles/tag-dev-setup/ipython/profile_pyspark/startup/README similarity index 100% rename from init/profile_pyspark/startup/README rename to .dotfiles/tag-dev-setup/ipython/profile_pyspark/startup/README diff --git a/init/profile_pyspark/static/custom/custom.css b/.dotfiles/tag-dev-setup/ipython/profile_pyspark/static/custom/custom.css similarity index 100% rename from init/profile_pyspark/static/custom/custom.css rename to .dotfiles/tag-dev-setup/ipython/profile_pyspark/static/custom/custom.css diff --git a/init/profile_pyspark/static/custom/custom.js b/.dotfiles/tag-dev-setup/ipython/profile_pyspark/static/custom/custom.js similarity index 100% rename from init/profile_pyspark/static/custom/custom.js rename to .dotfiles/tag-dev-setup/ipython/profile_pyspark/static/custom/custom.js diff --git a/.mrjob.conf b/.dotfiles/tag-dev-setup/mrjob.conf similarity index 96% rename from .mrjob.conf rename to .dotfiles/tag-dev-setup/mrjob.conf index ee89d3595..813897b31 100755 --- a/.mrjob.conf +++ b/.dotfiles/tag-dev-setup/mrjob.conf @@ -1,17 +1,17 @@ -runners: - emr: - aws_access_key_id: YOURACCESSKEY - aws_secret_access_key: YOURSECRETKEY - aws_region: us-east-1 - ec2_key_pair: YOURKEYPAIR - ec2_key_pair_file: ~/.ssh/YOURKEYPAIR.pem - ssh_tunnel_to_job_tracker: true - ec2_master_instance_type: m1.small - ec2_instance_type: m1.small - num_ec2_instances: 5 - s3_scratch_uri: s3://YOURBUCKETSCRATCH - s3_log_uri: s3://YOURBUCKETLOG - enable_emr_debugging: True - bootstrap: - - sudo apt-get install -y python-pip - - sudo pip install --upgrade simplejson +runners: + emr: + aws_access_key_id: YOURACCESSKEY + aws_secret_access_key: YOURSECRETKEY + aws_region: us-east-1 + ec2_key_pair: YOURKEYPAIR + ec2_key_pair_file: ~/.ssh/YOURKEYPAIR.pem + ssh_tunnel_to_job_tracker: true + ec2_master_instance_type: m1.small + ec2_instance_type: m1.small + num_ec2_instances: 5 + s3_scratch_uri: s3://YOURBUCKETSCRATCH + s3_log_uri: s3://YOURBUCKETLOG + enable_emr_debugging: True + bootstrap: + - sudo apt-get install -y python-pip + - sudo pip install --upgrade simplejson diff --git a/.s3cfg b/.dotfiles/tag-dev-setup/s3cfg similarity index 100% rename from .s3cfg rename to .dotfiles/tag-dev-setup/s3cfg diff --git a/.screenrc b/.dotfiles/tag-dev-setup/screenrc similarity index 100% rename from .screenrc rename to .dotfiles/tag-dev-setup/screenrc diff --git a/.vim/backups/.gitignore b/.dotfiles/tag-dev-setup/vim/backups/.gitignore similarity index 100% rename from .vim/backups/.gitignore rename to .dotfiles/tag-dev-setup/vim/backups/.gitignore diff --git a/.vim/colors/solarized.vim b/.dotfiles/tag-dev-setup/vim/colors/solarized.vim similarity index 100% rename from .vim/colors/solarized.vim rename to .dotfiles/tag-dev-setup/vim/colors/solarized.vim diff --git a/.vim/swaps/.gitignore b/.dotfiles/tag-dev-setup/vim/swaps/.gitignore similarity index 100% rename from .vim/swaps/.gitignore rename to .dotfiles/tag-dev-setup/vim/swaps/.gitignore diff --git a/.vim/syntax/json.vim b/.dotfiles/tag-dev-setup/vim/syntax/json.vim similarity index 100% rename from .vim/syntax/json.vim rename to .dotfiles/tag-dev-setup/vim/syntax/json.vim diff --git a/.vim/undo/.gitignore b/.dotfiles/tag-dev-setup/vim/undo/.gitignore similarity index 100% rename from .vim/undo/.gitignore rename to .dotfiles/tag-dev-setup/vim/undo/.gitignore diff --git a/.vimrc b/.dotfiles/tag-dev-setup/vimrc similarity index 100% rename from .vimrc rename to .dotfiles/tag-dev-setup/vimrc diff --git a/.wgetrc b/.dotfiles/tag-dev-setup/wgetrc similarity index 100% rename from .wgetrc rename to .dotfiles/tag-dev-setup/wgetrc diff --git a/.dots b/.dots deleted file mode 100755 index 61103a9cd..000000000 --- a/.dots +++ /dev/null @@ -1,111 +0,0 @@ -#!/usr/bin/env bash - -function runDots() { - # Ask for the administrator password upfront - sudo -v - - # Keep-alive: update existing `sudo` time stamp until the script has finished - while true; do sudo -n true; sleep 60; kill -0 "$$" || exit; done 2>/dev/null & - - # Run sections based on command line arguments - for ARG in "$@" - do - if [ $ARG == "bootstrap" ] || [ $ARG == "all" ]; then - echo "" - echo "------------------------------" - echo "Syncing the dev-setup repo to your local machine." - echo "------------------------------" - echo "" - cd ~ && curl -#L https://github.com/donnemartin/dev-setup/tarball/master | tar -xzv --strip-components 1 --exclude={README.md,LICENSE} - fi - if [ $ARG == "osxprep" ] || [ $ARG == "all" ]; then - # Run the osxprep.sh Script - echo "" - echo "------------------------------" - echo "Updating OSX and installing Xcode command line tools" - echo "------------------------------" - echo "" - ./osxprep.sh - fi - if [ $ARG == "brew" ] || [ $ARG == "all" ]; then - # Run the brew.sh Script - # For a full listing of installed formulae and apps, refer to - # the commented brew.sh source file directly and tweak it to - # suit your needs. - echo "" - echo "------------------------------" - echo "Installing Homebrew along with some common formulae and apps." - echo "This might awhile to complete, as some formulae need to be installed from source." - echo "------------------------------" - echo "" - ./brew.sh - fi - if [ $ARG == "osx" ] || [ $ARG == "all" ]; then - # Run the osx.sh Script - # I strongly suggest you read through the commented osx.sh - # source file and tweak any settings based on your personal - # preferences. The script defaults are intended for you to - # customize. For example, if you are not running an SSD you - # might want to change some of the settings listed in the - # SSD section. - echo "" - echo "------------------------------" - echo "Setting sensible OSX defaults." - echo "------------------------------" - echo "" - ./osx.sh - fi - if [ $ARG == "pydata" ] || [ $ARG == "all" ]; then - # Run the pydata.sh Script - echo "------------------------------" - echo "Setting up Python data development environment." - echo "------------------------------" - echo "" - ./pydata.sh - fi - if [ $ARG == "aws" ] || [ $ARG == "all" ]; then - # Run the aws.sh Script - echo "------------------------------" - echo "Setting up AWS development environment." - echo "------------------------------" - echo "" - ./aws.sh - fi - if [ $ARG == "datastores" ] || [ $ARG == "all" ]; then - # Run the datastores.sh Script - echo "------------------------------" - echo "Setting up data stores." - echo "------------------------------" - echo "" - ./datastores.sh - fi - if [ $ARG == "web" ] || [ $ARG == "all" ]; then - # Run the web.sh Script - echo "------------------------------" - echo "Setting up JavaScript web development environment." - echo "------------------------------" - echo "" - ./web.sh - fi - if [ $ARG == "android" ] || [ $ARG == "all" ]; then - # Run the android.sh Script - echo "------------------------------" - echo "Setting up Android development environment." - echo "------------------------------" - echo "" - ./android.sh - fi - done - - echo "------------------------------" - echo "Completed running .dots, restart your computer to ensure all updates take effect" - echo "------------------------------" -} - -read -p "This script may overwrite existing files in your home directory. Are you sure? (y/n) " -n 1; -echo ""; -if [[ $REPLY =~ ^[Yy]$ ]]; then - runDots $@ -fi; - -unset runDots; diff --git a/.rcrc b/.rcrc new file mode 100644 index 000000000..368e0aacb --- /dev/null +++ b/.rcrc @@ -0,0 +1,3 @@ +DOTFILES_DIRS=".dotfiles" +TAGS="dev-setup" +UNDOTTED="bin" diff --git a/README.md b/README.md index ea1ce4a06..95bb838d1 100644 --- a/README.md +++ b/README.md @@ -53,11 +53,11 @@ This repo takes a more **light-weight** approach to automation using a combinati * [Single Setup Script](#single-setup-script) * [bootstrap.sh script](#bootstrapsh-script) * Syncs dev-setup to your local home directory `~` -* [osxprep.sh script](#osxprepsh-script) +* [macosupdate.sh script](#macosupdatesh-script) * Updates OS X and installs Xcode command line tools -* [brew.sh script](#brewsh-script) +* [essentials.sh script](#brewsh-script) * Installs common Homebrew formulae and apps -* [osx.sh script](#osxsh-script) +* [macos.sh script](#macossh-script) * Sets up OS X defaults geared towards developers * [pydata.sh script](#pydatash-script) * Sets up python for data analysis @@ -157,62 +157,59 @@ This repo takes a more **light-weight** approach to automation using a combinati $ git clone https://github.com/donnemartin/dev-setup.git && cd dev-setup -##### Run the .dots Script with Command Line Arguments +##### Run the devsetup Script with Command Line Arguments -**Since you probably don't want to install every section**, the `.dots` script supports command line arguments to run only specified sections. Simply pass in the [scripts](#scripts) that you want to install. Below are some examples. +**Since you probably don't want to install every section**, the `devsetup` script supports command line arguments to run only specified sections. Simply pass in the [scripts](#scripts) that you want to install. Below are some examples. -**For more customization, you can [clone](#clone-the-repo) or [fork](https://github.com/donnemartin/dev-setup/fork) the repo and tweak the `.dots` script and its associated components to suit your needs.** +**For more customization, you can [clone](#clone-the-repo) or [fork](https://github.com/donnemartin/dev-setup/fork) the repo and tweak the `devsetup` script and its associated components to suit your needs.** Run all: - $ ./.dots all + $ ./devsetup -p -Run `bootstrap.sh`, `osxprep.sh`, `brew.sh`, and `osx.sh`: +Run `macosupdate.sh`, `essentials.sh`, and `macos.sh`: - $ ./.dots bootstrap osxprep brew osx + $ ./devsetup -p -m `macosupdate` -m macos -m essentials -Run `bootstrap.sh`, `osxprep.sh`, `brew.sh`, and `osx.sh`, `pydata.sh`, `aws.sh`, and `datastores.sh`: +Run `macosupdate.sh`, `essentials.sh`, and `macos.sh`, `pydata.sh`, `aws.sh`, and `datastores.sh`: - $ ./.dots bootstrap osxprep brew osx pydata aws datastores + $ ./devsetup -p -m `macosupdate` -m essentials -m macos -m pydata -m aws -m datastores #### Running without Git - $ curl -O https://raw.githubusercontent.com/donnemartin/dev-setup/master/.dots && ./.dots [Add ARGS Here] + $ curl -O https://raw.githubusercontent.com/omares/dev-setup/master/devsetup && ./devsetup [Add ARGS Here] #### Scripts -* [.dots](https://github.com/donnemartin/dev-setup/blob/master/.dots) +* devsetup * Runs specified scripts -* [bootstrap.sh](https://github.com/donnemartin/dev-setup/blob/master/bootstrap.sh) - * Syncs dev-setup to your local home directory `~` -* [osxprep.sh](https://github.com/donnemartin/dev-setup/blob/master/osxprep.sh) +* macosupdate.sh * Updates OS X and installs Xcode command line tools -* [brew.sh](https://github.com/donnemartin/dev-setup/blob/master/brew.sh) +* essentials.sh * Installs common Homebrew formulae and apps -* [osx.sh](https://github.com/donnemartin/dev-setup/blob/master/osx.sh) +* macos.sh * Sets up OS X defaults geared towards developers -* [pydata.sh](https://github.com/donnemartin/dev-setup/blob/master/pydata.sh) +* pydata.sh * Sets up python for data analysis -* [aws.sh](https://github.com/donnemartin/dev-setup/blob/master/aws.sh) +* aws.sh * Sets up Spark, Hadoop MapReduce, and Amazon Web Services -* [datastores.sh](https://github.com/donnemartin/dev-setup/blob/master/datastores.sh) +* datastores.sh * Sets up common data stores -* [web.sh](https://github.com/donnemartin/dev-setup/blob/master/web.sh) +* web.sh * Sets up JavaScript web development -* [android.sh](https://github.com/donnemartin/dev-setup/blob/master/android.sh) +* android.sh * Sets up Android development **Notes:** -* `.dots` will initially prompt you to enter your password. -* `.dots` might ask you to re-enter your password at certain stages of the installation. -* If OS X updates require a restart, simply run `.dots` again to resume where you left off. +* `devsetup` might ask you to enter your password at certain stages of the installation. +* If OS X updates require a restart, simply run `devsetup` again to resume where you left off. * When installing the Xcode command line tools, a dialog box will confirm installation. * Once Xcode is installed, follow the instructions on the terminal to continue. -* `.dots` runs `brew.sh`, which takes awhile to complete as some formulae need to be installed from source. -* **When `.dots` completes, be sure to restart your computer for all updates to take effect.** +* `devsetup` runs `essentials.sh`, which takes awhile to complete as some formulae need to be installed from source. +* **When `devsetup` completes, be sure to restart your computer for all updates to take effect.** -I encourage you to read through Section 1 so you have a better idea of what each installation script does. The following discussions describe in greater detail what is executed when running the [.dots](https://github.com/donnemartin/dev-setup/blob/master/.dots) script. +I encourage you to read through Section 1 so you have a better idea of what each installation script does. The following discussions describe in greater detail what is executed when running the [devsetup](https://github.com/donnemartin/dev-setup/blob/master/devsetup) script. ### bootstrap.sh script @@ -280,18 +277,18 @@ gpip(){ You could also use `~/.extra` to override settings, functions, and aliases from the dev-setup repository, although it’s probably better to [fork the dev-setup repository](https://github.com/donnemartin/dev-setup/fork). -### osxprep.sh script +### macosupdate.sh script
-
+