diff --git a/doc/languages-frameworks/haskell.section.md b/doc/languages-frameworks/haskell.section.md index e5b725b1d5e2..59951d46a79a 100644 --- a/doc/languages-frameworks/haskell.section.md +++ b/doc/languages-frameworks/haskell.section.md @@ -334,16 +334,30 @@ navigate there. Finally, you can run ```shell -hoogle server -p 8080 --local +hoogle server --local -p 8080 ``` and navigate to http://localhost:8080/ for your own local -[Hoogle](https://www.haskell.org/hoogle/). Note, however, that Firefox and -possibly other browsers disallow navigation from `http:` to `file:` URIs for -security reasons, which might be quite an inconvenience. Since version 5 hoogle -server has a `--local` flag that solves the problem. For older versions see +[Hoogle](https://www.haskell.org/hoogle/). The `--local` flag makes the hoogle +server serve files from your nix store over http, without the flag it will use +`file:\\` URIs. Note, however, that Firefox and possibly other browsers +disallow navigation from `http://` to `file://` URIs for security reasons, +which might be quite an inconvenience. Versions before v5 did not have this +flag. See [this page](http://kb.mozillazine.org/Links_to_local_pages_do_not_work) for workarounds. +For NixOS users there's a service which runs this exact command for you. +Specify the `packages` you want documentation for and the `haskellPackages` set +you want them to come from. Add the following to `configuration.nix`. + +```nix +services.hoogle = { +enable = true; +packages = (hpkgs: with hpkgs; [text cryptonite]); +haskellPackages = pkgs.haskellPackages; +}; +``` + ### How to build a Haskell project using Stack [Stack](http://haskellstack.org) is a popular build tool for Haskell projects.