about summary refs log tree commit diff
path: root/default.nix
diff options
context:
space:
mode:
authorVincent Ambo <tazjin@google.com>2019-07-04T14·55+0100
committerVincent Ambo <tazjin@google.com>2019-07-04T14·55+0100
commit6fbdf41b0584d46d626fd5d76852d821bcdc2764 (patch)
treea5b7b165de0ed5bef4191dc38d9f25776247440e /default.nix
parentca549e4edc55aabdd2ca38193f3049424f56ee02 (diff)
feat(build): Introduce pre-packaged GHC with dependencies via Nix r/21
This uses the Nix infrastructure's Haskell setup to create a GHC
derivation that comes with all required Haskell packages, fetched &
built via Nix.

Downstream packages that want to make use of Haskell dependencies need
them to be added to this list.
Diffstat (limited to 'default.nix')
-rw-r--r--default.nix20
1 files changed, 20 insertions, 0 deletions
diff --git a/default.nix b/default.nix
index 771128a8a9..7c264653d7 100644
--- a/default.nix
+++ b/default.nix
@@ -3,10 +3,30 @@
 
 let
   localPkgs = super: pkgs: {
+    # Local projects should be added here:
     tazjin.tazblog = import ./services/tazblog { inherit pkgs; };
     tazjin.gemma = import ./services/gemma { inherit pkgs; };
 
+    # Third-party projects (either vendored or modified from nixpkgs)
+    # should be added here:
     thirdParty.gitAppraise = pkgs.callPackage ./third_party/go/git-appraise/git-appraise {};
+    thirdParty.ghc = pkgs.haskell.packages.ghc865.ghcWithPackages(p: with p; [
+      acid-state
+      base64-bytestring
+      blaze-html
+      containers
+      cryptohash
+      hamlet
+      happstack-server
+      ixset
+      markdown
+      mtl
+      network
+      network-uri
+      options
+      rss
+      safecopy
+    ]);
   };
 
   # TODO(tazjin): It might be preferable to pin a specific commit of