Giter Site home page Giter Site logo

hyperdrive's Introduction

Hyperdrive

Hyperdrive

A helper script to get you from a vanilla machine to a minimal Lando-based dev environment in less than 12 par-steps. Generally this includes:

  1. git
  2. curl
  3. node
  4. yarn
  5. docker
  6. lando
  7. ssh keys
  8. vim or atom or none

NOTE: Hyperdrive is only currently available for macOS 10.11+ and recent-ish Debian flavored linux distributions. If you are using something else and interested in adding support please open a feature request

Installation

The easiest way to kick in things into lightspeed is to run the latest release script directly from the internet

curl -Ls https://github.com/lando/hyperdrive/releases/download/v0.5.0/hyperdrive > /tmp/hyperdrive \
  && chmod +x /tmp/hyperdrive \
  && /tmp/hyperdrive

Or with options

curl -Ls https://github.com/lando/hyperdrive/releases/download/v0.5.0/hyperdrive > /tmp/hyperdrive \
  && chmod +x /tmp/hyperdrive \
  && /tmp/hyperdrive --vim -y

You can also download the script to your $PATH and then pass in options to make it non-interactive

curl -Ls https://github.com/lando/hyperdrive/releases/download/v0.5.0/hyperdrive > /usr/local/bin/hyperdrive \
  && chmod +x /usr/local/bin/hyperdrive
hyperdrive -h
  _    _                          _      _
 | |  | |                        | |    (_)
 | |__| |_   _ _ __   ___ _ __ __| |_ __ ___   _____
 |  __  | | | | '_ \ / _ \ '__/ _` | '__| \ \ / / _ \
 | |  | | |_| | |_) |  __/ | | (_| | |  | |\ V /  __/
 |_|  |_|\__, | .__/ \___|_|  \__,_|_|  |_| \_/ \___|
          __/ | |
         |___/|_|

Usage: ./hyperdrive.sh [-yh] [--name name] [--email email] [--vim]

Options:
  -h, --help                Show this help dialog
  -v, --version             Show the version
  -y, --yes                 Auto confirm all yes/no prompts

  --name                    My name eg "Jean Luc Picard"
  --email                   My email eg [email protected]
  --vim                     Install vim with hyperdrive conf

Examples:
  # Run bootscript interactively
  ./hyperdrive.sh

  # Show this usage dialog
  ./hyperdrive.sh -h

  # Run non-interactively with optional vim installation
  ./hyperdrive.sh -y --name "Lando" --email [email protected] --vim

Environment Variables

The above CLI options are also available as environment variables. Take care to export the variables. You can ensure that they are set correctly by running env.

export HYPERDRIVE_HELP=false
export HYPERDRIVE_YES=false
export HYPERDRIVE_NAME=James T. Kirk
export [email protected]
export HYPERDRIVE_VIM=false

VIM

You can optionally install our hyperdrive version of the vim text editor by passing the --vim option into hyperdrive.

hyperdrive --vim

Hyperdrive Vim

Hyperdrive Vim is built on top of and extends Janus which means it uses Pathogen for plugin management and sets , as the Leader Key. If you are unfamiliar with vim or janus we highly recommend you review this before proceeding further.

You can further extend it with your own ~/.hyperdrive.local folder which minimally should take this structure:

.
├── vim                   Pathogen VIM plugins as git submodules
├── vimrc.after           Runs after the custom Janus vimrc.after
└── vimrc.before          Runs after the custom Janus vimrc.before

Ideally this lives in a git repository forked from hyperdrive itself. This model allows you to easily maintain your own customizations and contribute to hyperdrive simultaneously.

git clone https://github.com/pirog/hyperdrive ~/.hyperdrive.local

Development

You can also warp to the frontier and use the latest dev version of the script.

# Get the project
git clone https://github.com/lando/hyperdrive.git

# Run the source
./hyperdrive.sh

# Build the compiled script that lives on the interwebs
./build.sh
./bin/hyperdrive

# Release a new version of hyperdrive
#
# NOTE: This will update the readme, make a commit, make a tag and push
# back to the repo
#
# Pass in the version you want to bump to with an optional tag annotation
./release.sh v4.4.4-alpha.12931 "Wretched hive of scum and villiany"

Structure

The project structure to hyperdrive makes it easy to work with and learn.

.
├── CONTRIBUTING.md       Contributing docs
├── LICENSE               License
├── README.md             This README
├── bin                   The location of ./build.sh artifacts eg hyperdrive
├── checks                A standardized set of dependency check functions
├── installers            Scripts to install things
├── lib                   Helper functions loaded first and used everywhere else
├── vim                   Git submodules for our VIM ~/.janus plugins (Pathogen)
├── build.sh              Build script
├── release.sh            Release script
├── hyperdrive.sh         Main entrypoint logic
├── vimrc.after           Custom Janus vimrc.after
└── vimrc.before          Custom Janus vimrc.before

Other Resources

hyperdrive's People

Contributors

pirog avatar

Watchers

 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.