No description
.vscode | ||
bin | ||
src | ||
.ghcid | ||
.gitignore | ||
default.nix | ||
flake.lock | ||
flake.nix | ||
haskell-template.cabal | ||
hie.yaml | ||
LICENSE | ||
README.md | ||
shell.nix |
haskell-template
Haskell project template optimized for a fully reproducible and friendly development environment. Based on Nix + Flakes + VSCode (HLS) + ormolu autoformatting + Relude as Prelude.
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
tomyproject
, as well as rename the cabal file tomyproject.cabal
.- To do this from commandline, run
nix run nixpkgs#sd -- haskell-template myproject * */*
- To do this from commandline, run
- Run
git add . && git commit -m rename
followed bynix develop
(orbin/run
) to verify that everything continues to work.
Tips
- Run
nix flake update
to nixpkgs and other flake inputs.
Other templates
Some related templates include,