Skip to content

calledtoconstruct/haskell-hls-devcontainer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

DevContainer for Haskell with Haskell Language Server integration.

(haskell-hls-devcontainer)

A port of the haskell-hie-devcontainer by hmemcpy.

What is this?

This is a DevContainer environment for Visual Studio Code, which will automatically install the Glasgow Haskell Compiler (GHC), Haskell Language Server (HLS), 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 as it will need to download the necessary resources.

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. The official Haskell image, based on a Debian Buster 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 (latest)
    • Haskell Language Server (HLS) for GHC 8 (latest)
  2. A script to install some additional tools (such as git) and to configure a special user vscode to allow access from VSCode.

The devcontainer.json has some additional configuration for VSCode, in particular, the Haskell extension, and the name of the remote user (must match the one in the Dockerfile).

About

DevContainer for Haskell with Haskell Language Server integration.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published