All Projects → hmemcpy → Haskell Hie Devcontainer

hmemcpy / Haskell Hie Devcontainer

Licence: mit
A DevContainer for VSCode, for installing GHC 8.6.5, HIE (Haskell IDE Engine) and the required plugins

DevContainer for HIE (Haskell IDE Engine)

What is this?

This is a DevContainer environment for Visual Studio Code, allowing automatically installing the Haskell compiler (GHC), HIE (Haskell IDE Engine), and the necessary Visual Studio Code extensions to set up a Haskell development environment with zero additional effort.

How to use this?

Follow the Getting Started instructions to configure your Visual Studio Code and Docker to use with DevContainers.

Place the .devcontainer directory in the root of your project, and the next time you load the project, Visual Studio Code will prompt to re-open the project in a container:

image

Note: building the container might take a few minutes until all dependencies have finished downloading.

How does it work?

Visual Studio Code supports Developing inside a Container - using a Docker image as a development environment. It automates the process of creating the container image, as well as installing additional required extensions into the editor.

Pressing Reopen in Container will perform the automated steps to launch the container, and set up the environment.

For more information and setup, read the official documentation: https://code.visualstudio.com/docs/remote/containers

What's in the box?

The Dockerfile contains the following:

  1. An image, based on hmemcpy/hie, an Alpine image that contains the Nix package manager, as well as the following:
    • Configuration for Cachix - a binary cache for Nix
    • Glasgow Haskell Compiler (GHC) version 8.6.5
    • HIE (haskell-ide-engine) for GHC 8.6.5
  2. A script to install some additional tools (such as git), as well as configuring a special user vscode to allow access from VSCode.

The devcontainer.json has some additional configuration for VSCode, in particular, the required extensions that have to be installed, and the name of the remote user (must match the one in the Dockerfile).

This is based on the Alpine devcontainer from Microsoft.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].