diff --git a/nixos/modules/leasereport.nix b/nixos/modules/leasereport.nix
index 8695a51fefa12d1fec742633c9f2e7bac81b8008..095ad090f369d93c83683bb58786dd3eebb81208 100644
--- a/nixos/modules/leasereport.nix
+++ b/nixos/modules/leasereport.nix
@@ -1,5 +1,12 @@
 { callPackage }:
 let
   leasereport = import ./leasereport-repo.nix;
+
+  # Pin a particular version of haskell.nix.  The particular version isn't
+  # special.  It's just recent at the time this expression was written and it
+  # is known to work with LeaseReport.  It could be bumped if necessary but
+  # this would probably only happen as a result of bumping the resolver in
+  # stack.yaml.
+  haskellNixSrc ? builtins.fetchTarball https://github.com/input-output-hk/haskell.nix/archive/31fd01e14729e686de0a915b9bc4ff70397a84c7.tar.gz
 in
-  (callPackage "${leasereport}/nix" { }).LeaseReport.components.exes.LeaseReport
+  (callPackage "${leasereport}/nix" { inherit haskellNixSrc; }).LeaseReport.components.exes.LeaseReport