Skip to content

Add devcontainer files

Agustín Mista requested to merge add-devcontainer into master

This draft MR adds the base .devcontainer files used by VSCode to build a custom development Docker image.

Sadly, I couldn't find an easy way to use the same Docker image used by the Gitlab CI (because it's not hosted in DockerHub). Instead, these files are taken verbatim from the latest Haskell devcontainer bundled with VSCode. Note however that the git version is more recent than the one that VSCode currently pulls with "Dev Containers: Add Dev Containers Configuration Files..." and, in particular, it uses GHCUp to install the main Haskell tooling.

Luckily, HLint and Ormolu seem to be bundled with HLS and work out of the box. In particular, HLint is integrated with the GHC output, whereas Ormolu is the default formatter used when you run "Format Document".

There are a couple of things to discuss before merging:

  • Which version of GHC/Cabal/HLS we want to use for development inside the container? We currently default everything to "recommended".
  • I enabled the formatOnSave option inside the container so we can forget about it. We might want to disable it though.
  • SSH forwarding is currently not working for me, so I need to use git from outside the container. This is probably an issue with my host, but perhaps somebody managed to make this work (I presume via ssh-agent).

This MR closes #12 (closed) and !9 (closed).

Edited by Agustín Mista

Merge request reports