Getting Started

How to install and use ENVy

Installing ENVY

Prerequisites: You should have Docker installed and running (i.e. docker ps doesn’t give you an error), as well as docker-compose, needed for some projects.

You can install ENVy in a few different ways:

pip (recommended):

  • The recommended installation method is to use Pip: pip3 install envy-project.

from release (or master):

  • Download a tar.gz release from ENVy’s Github release page.
  • Extract the archive (tar -xzvf envy-*.tgz)
  • Install the package (sudo setup.py install)

AUR (Arch Linux):

  • Arch Linux suggests installing Python packages using Pacman instead of pip. There is an AUR package available

Special Instructions for Mac OS X:

  • Install Docker for Mac.
  • If your project uses X-forwarding:
    1. Install XQuartz.
    2. Enable the “Allow connections from network clients” setting under XQuartz’s security tab.
    3. (re)Start XQuartz. XQuartz must be running for X-forwarding to work.

Using ENVy

ENVy is a very simple tool to use. You can see all available commands by running envy --help. When you’re working with a project, this help text will also contain all of the project-specific commands you can use (build, lint, etc.)

ENVy itself also defines a few commands:

  • envy up: Create a development environment

When run inside of a project directory, this will create a development environment according to the maintainer's specifications. You will see progress output as the process continues. It will mount the project directory inside of the environment. You can leave this container running as long as you'd like - it consumes little to no resources.

~ $ cd golang-hello-world
golang-hello-world $ envy up
Finding Docker Container ...
Finding Docker Container ✓
Starting Container ...
Starting Container ✓
Installing System Packages (already complete) ⤳
Setting up home environment (already complete) ⤳

  • envy down: Pause a development environment
~ $ golang-hello-world $ envy down
Connecting to Docker ...
Connecting to Docker ✓
Finding Docker Container ...
Finding Docker Container ✓
Stopping Docker Container ...
Stopping Docker Container ✓

When run inside of a project directory, this will pause the development environment without deleting any data. You may want to run this when you’re finished working on a project for a little while.

  • envy nuke: Delete a development environment

When run inside of a project directory, this will remove the environment created by ENVy. This will not affect the project directory itself - you will not lose any work. This frees up storage space on your host computer. Note that depending on the project configuration, this could delete temporary data - such as a database in use for development.

~ $ golang-hello-world $ envy nuke
Destroying ENVy Environment ...
Destroying ENVy Environment ✓