about summary refs log tree commit diff
path: root/pkgs/development/haskell-modules/make-package-set.nix
diff options
context:
space:
mode:
authorJoe Hermaszewski <git@monoid.al>2020-11-11 11:01:53 +0800
committerPeter Simons <simons@cryp.to>2020-11-13 21:37:57 +0100
commit07e697d22d91a4f1ae75da32c457a432f46d7bd1 (patch)
tree1c0a03060f1ee60edab1aa7247acfc9e57dd577f /pkgs/development/haskell-modules/make-package-set.nix
parentc3b35f21f78a3d23aaf40b70fe8865598ddc6729 (diff)
downloadnixlib-07e697d22d91a4f1ae75da32c457a432f46d7bd1.tar
nixlib-07e697d22d91a4f1ae75da32c457a432f46d7bd1.tar.gz
nixlib-07e697d22d91a4f1ae75da32c457a432f46d7bd1.tar.bz2
nixlib-07e697d22d91a4f1ae75da32c457a432f46d7bd1.tar.lz
nixlib-07e697d22d91a4f1ae75da32c457a432f46d7bd1.tar.xz
nixlib-07e697d22d91a4f1ae75da32c457a432f46d7bd1.tar.zst
nixlib-07e697d22d91a4f1ae75da32c457a432f46d7bd1.zip
haskell: improve documentation on ghcWithHoogle and developPackage
Diffstat (limited to 'pkgs/development/haskell-modules/make-package-set.nix')
-rw-r--r--pkgs/development/haskell-modules/make-package-set.nix10
1 files changed, 10 insertions, 0 deletions
diff --git a/pkgs/development/haskell-modules/make-package-set.nix b/pkgs/development/haskell-modules/make-package-set.nix
index ac65fad35270..77060c8d8641 100644
--- a/pkgs/development/haskell-modules/make-package-set.nix
+++ b/pkgs/development/haskell-modules/make-package-set.nix
@@ -228,6 +228,9 @@ in package-set { inherit pkgs stdenv callPackage; } self // {
     # optional set of arbitrary overrides, and an optional haskell package
     # modifier, return a derivation appropriate for nix-build or nix-shell to
     # build that package.
+    # If 'returnShellEnv' is true this returns a derivation which will give you
+    # an environment suitable for developing the listed packages with an
+    # incremental tool like cabal-install.
     developPackage =
       { root
       , name ? builtins.baseNameOf root
@@ -245,6 +248,13 @@ in package-set { inherit pkgs stdenv callPackage; } self // {
 
     ghcWithPackages = selectFrom: withPackages (selectFrom self);
 
+    # Put 'hoogle' into the derivation's PATH with a database containing all
+    # the package's dependencies; run 'hoogle server --local' in a shell to
+    # host a search engine for the dependencies.
+    #
+    # To reload the Hoogle server automatically on .cabal file changes try
+    # this:
+    # echo *.cabal | entr -r -- nix-shell --run 'hoogle server --local'
     ghcWithHoogle = selectFrom:
       let
         packages = selectFrom self;