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:
- ssh keys
- 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
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 firstname.lastname@example.org --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@example.com --vim
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
export HYPERDRIVE_HELP=false export HYPERDRIVE_YES=false export HYPERDRIVE_NAME=James T. Kirk export HYPERDRIVE_EMAILfirstname.lastname@example.org export HYPERDRIVE_VIM=false
You can optionally install our
hyperdrive version of the
vim text editor by passing the
--vim option into
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
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
git clone https://github.com/pirog/hyperdrive ~/.hyperdrive.local
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"
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