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

ahimmelstoss avatar aviflombaum avatar loganhasson avatar tsiege avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

environmentalizer's Issues

Sublime error on first use after running environmentalizer

A student reports:

After running the environmentalizer tool, I received an error from Sublime Text that it couldn't load the color scheme, which appeared to have been reset to a custom Flatiron scheme. Works fine after I manually adjust the color setting through Sublime Preferences, but just noting.

It doesn't give me the error again on re-opening, and I did not think to copy the exact text of the error before messing around with colors to try to fix it.

install nokogiri

do it this way: gem install nokogiri -- --use-system-libraries

Permissions on ~/.netrc can drift away from 600

After running Learn setup process on OS X with no errors multiple users have reported that .netrc permissions are 644 where they should be 600.

Issue is revealed upon running Learn gem. This does not necessarily happen immediately after setup; somehow the permissions have been changed even after running Learn successfully before.

Problem can be fixed through simple chmod 600 ~/.netrc.

rvm check isn't right

think there are too many conditions in the if block. probably should separate it into multiple if statements

homebrew not working?

for sublime text 2, this is the command. should work assuming there were no other attempts to make a subl symlink:

ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" /usr/local/bin

Issue with downloading

When I write $ ./install.sh /usr/local for installing I receive this message:

mkdir: /usr/local/bin: Permission denied
mkdir: /usr/local/libexec: Permission denied
mkdir: /usr/local/share/man/man1: Permission denied
mkdir: /usr/local/share/man/man7: Permission denied

When I tried the $ bats test command I received this:
-bash: bats: command not found

What is wrong? Please help!:)

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.