No description
Find a file
Sridhar Ratnakumar 0ebc5222e0
Update README.md
2021-06-01 08:37:15 -04:00
.vscode Update settings.json 2021-05-31 19:35:01 -04:00
bin remove unused env 2021-05-31 22:25:32 -04:00
src init 2021-05-31 19:21:58 -04:00
.ghcid Remove cli args 2021-05-31 22:26:25 -04:00
.gitignore Remove unused entry 2021-05-31 22:26:47 -04:00
default.nix init 2021-05-31 19:21:58 -04:00
flake.lock init 2021-05-31 19:21:58 -04:00
flake.nix doc, callCabal2nix 2021-05-31 22:46:25 -04:00
haskell-template.cabal init 2021-05-31 19:21:58 -04:00
hie.yaml init 2021-05-31 19:21:58 -04:00
LICENSE init 2021-05-31 19:21:58 -04:00
README.md Update README.md 2021-06-01 08:37:15 -04:00
shell.nix init 2021-05-31 19:21:58 -04:00

haskell-template

Haskell project template optimized for a fully reproducible and friendly development environment. Based on Nix + Flakes + VSCode (HLS) + Relude.

Getting Started

  • Install Nix & enable Flakes
  • Run nix-shell --run haskell-language-server to sanity check your environment
  • Open as single-folder workspace in Visual Studio Code
    • Install the workspace recommended extensions
    • Ctrl+Shift+P to run command "Nix-Env: Select Environment" and select shell.nix. The extension will ask you to reload VSCode at the end.
  • Press Ctrl+Shift+B in VSCode, or run bin/run (bin/run-via-tmux if you have tmux installed) in terminal, to launch Ghcid running your program.

All but the final step need to be done only once.

Then, before using it for real,

  • Rename all occurrences of haskell-template to myproject, as well as rename the cabal file to myproject.cabal.
  • Run git add . && git commit -m rename followed by nix develop (or bin/run) to verify that everything continues to work.

Other templates

Some related templates include,