Etlas User Guide


This user guide is still under active development. Please consult the Cabal User Guide as it is very similar to Etlas.

Etlas Packages Support

You can install a package by typing:

etlas install [package-name]

Visit eta-hackage to get a list of packages currently supported by Eta.

To know the details of the flags supported by etlas:

etlas --help

This will help with a basic suggestion of what each flag does.

Below we note some important commands associated with etlas:

  1. etlas init

This initializes the skeleton of the project. It asks a few standard questions to build the project template.

  1. etlas build

As the name implies, this builds the project. This should be executed from the root of the project where the cabal file exists.

  1. etlas install

This command builds the source project and actually installs it in the .etlas directory of the home folder, making it universally accessible across your system.

  1. etlas run

This command looks for the main :: IO () method in the code and actually builds and then runs that method.

  1. etlas configure

As the name implies, it is used to configure the project. You can find out more about each flag by typing etlas configure --help.

  1. etlas test

Actually execute the tests written in this project.

  1. etlas haddock

Generates the haddock documentation of the project.

  1. etlas install --enable-tests

This enables tests and install HSpec (and any other needed dependencies).

  1. etlas sdist

It packages up the files needed to build the project into a tar ball. Head over here for more.

A thorough coverage of all the available fields in a cabal file is mentioned here

Etlas Configuration

You can edit the cabal configuration file to change various default settings for etlas and the external programs used by it, for *nix based systems this is:

  1. ~/.cabal/config

The config file on a Windows system is:

  1. %appdata%\cabal\config

Proxy Configuration

Etlas tries to use your default proxy settings for its connections to download content. However, you can set the proxy settings for fetching maven dependencies in the cabal config file, as java proxy options:


  1. program-default-options
    -- java-options:

for something like (for https connections):

  1. program-default-options
    java-options: -Dhttps.proxyHost=host -Dhttps.proxyPort=port -Dhttps.proxyUser=user -Dhttps.proxyPassword=pass