about summary refs log tree commit diff
path: root/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'default.nix')
-rw-r--r--default.nix16
1 files changed, 10 insertions, 6 deletions
diff --git a/default.nix b/default.nix
index ca163c8e56d7..a341398509d8 100644
--- a/default.nix
+++ b/default.nix
@@ -1,11 +1,15 @@
 { nixpkgs ? import ./nixpkgs.nix {}
-, compiler ? "ghc865" }:
+, compiler ? "ghc865"
+, failOnWarnings ? false
+}:
 let
-  inherit (nixpkgs) pkgs;
+  inherit (nixpkgs) pkgs lib;
+  inherit (lib) id;
   all-hies = import (fetchTarball "https://github.com/infinisil/all-hies/tarball/master") {};
   hie = all-hies.selection { selector = p: { inherit (p) ghc865; }; };
-  xanthous = (pkgs.haskellPackages
-    .extend (import ./haskell-overlay.nix { inherit nixpkgs; }))
-    .callPackage (import ./pkg.nix { inherit nixpkgs; }) {};
-in
+  xanthous =
+    (if failOnWarnings then pkgs.haskell.lib.failOnAllWarnings else id)
+      ((pkgs.haskellPackages
+      .extend (import ./haskell-overlay.nix { inherit nixpkgs; })
+    ).callPackage (import ./pkg.nix { inherit nixpkgs; }) {}); in
 xanthous // { inherit hie; }