Skip to content
Accelerate from zero to a Lando-based dev environment in less then 12 par-steps
Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Update docs Nov 21, 2018
bin Initial payload Nov 13, 2018
checks Update to lando rc.3 Feb 2, 2019
installers Update to lando rc.3 Feb 2, 2019
lib
vim Because youre mine, i light the line Nov 21, 2018
.gitignore Added artz and fixed custom config loading Nov 23, 2018
.gitmodules Because youre mine, i light the line Nov 21, 2018
.travis.yml
CHANGELOG.md
CONTRIBUTING.md Update docs Nov 21, 2018
LICENSE
README.md "Release v0.5.4" Feb 2, 2019
build.sh No reason for dev versions of things Nov 21, 2018
hyperdrive.gif Add the hyperdrive gif Nov 14, 2018
hyperdrive.sh First pass on vim and config installer Nov 20, 2018
hypervim.png More screenshots Nov 21, 2018
release.sh "Release v0.4.0" Nov 21, 2018
vimrc.after Ignore .git directory in nerd tree by default Nov 23, 2018
vimrc.before Added artz and fixed custom config loading Nov 23, 2018

README.md

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.4/hyperdrive > /tmp/hyperdrive \
  && chmod +x /tmp/hyperdrive \
  && /tmp/hyperdrive

Or with options

curl -Ls https://github.com/lando/hyperdrive/releases/download/v0.5.4/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.4/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 kirk@starfleet.mil
  --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 admin@thisfacility.com --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 HYPERDRIVE_EMAIL=kirk@enterprise.mil
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

You can’t perform that action at this time.