GithubHelp home page GithubHelp logo

environmentalizer's Introduction

Environmentalizer

NOTE: At the moment, this script will not work when run by itself. It has been modified to work with an OS X companion app. To run as a stanalone script, please check out commit: ce4f529d9ee09725c529dfb5fafd046c3f064c59.

A bash script to quickly and easily bootstrap a well-setup programming environment. It assumes a fresh install of OS X 10.9 (Mavericks) or OS X 10.10 (Yosemite). Any software already installed will be skipped.

What It Sets Up

  • Flatiron School's standard .bash_profile, which includes case-insensitive auto completion, a nice prompt with git branch awareness, and many useful shortcuts.
  • Homebrew
  • Git
  • SQlite3
  • RVM, Ruby 2.2.* and their dependencies
  • The Learn gem and its dependencies
  • Sublime Text 3 with Package Control, Solarized Theme, and proper tab defaults
  • Sensible .gitconfig, .gitignore, .gemrc, and .irbrc files
  • SSH Key for GitHub
  • A simple directory structure for well-organized code
  • Google Chrome

What You Need Before You Begin

  1. Know your admin password (you'll need to enter it once when the script first runs)
  2. Know your GitHub username
  3. Know the email address associated with your GitHub account
  4. A personal access api token for GitHub. You can create one here: https://github.com/settings/tokens/new. The name doesn't matter. You MUST select the write:public_key scope.
  5. You MUST to have pre-installed Xcode, accepted its license, and have the Command Line Tools.

Notes

  1. You'll need to run this script from an account with admin status. (DO NOT prepend sudo to the command below.)
  2. When the script first runs, you'll need to enter your admin password once for Homebrew to install and again for Sublime's symlink.
  3. During installation, Sublime Text will open for a few seconds and then close automatically. Do not close it yourself. This step is required for some important directories to be created.

Usage

curl -L "https://raw.githubusercontent.com/flatiron-school/environmentalizer/master/runner.sh" | bash

Testing

Environmentalizer utilizes Bats (Bash Automated Testing System) for testing.

Installation

  1. $ git clone https://github.com/sstephenson/bats
  2. $ cd bats
  3. $ ./install.sh /usr/local

Use

Running Tests

  1. Run tests with $ bats test
  2. Alternatively, run $ bin/test

Writing Tests

  1. Add all test files to the test directory
  2. Test files should have the .bats extension
  3. All files need the #!/usr/bin/env bats shebang at the top
  4. See a sample in test/sample.bats
  5. For more documentation, visit the (Bats Readme)[https://github.com/sstephenson/bats/blob/master/README.md]

TODO

  1. Extract 'check if file exists and if it has this content' logic into reusable function
  2. Write tests

environmentalizer's People

Contributors

loganhasson avatar tsiege avatar aviflombaum avatar ahimmelstoss avatar

Watchers

James Cloos avatar Geoffrey Charles avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.