diff --git a/nixos/modules/leasereport-repo.nix b/nixos/modules/leasereport-repo.nix
new file mode 100644
index 0000000000000000000000000000000000000000..a474311be4d3e6758748028f1b28c5dd15c06f3a
--- /dev/null
+++ b/nixos/modules/leasereport-repo.nix
@@ -0,0 +1,9 @@
+let
+  pkgs = import <nixpkgs> {};
+in
+  pkgs.fetchFromGitHub {
+    owner = "PrivateStorageio";
+    repo = "LeaseReport";
+    rev = "92f6567160c1459b5992f1cb8535aee0c23bc093";
+    sha256 = "04k1q170n4dwvakgi9gsc8mbbhqzcnygiw51rqyrf9blrsdh5fma";
+  }
\ No newline at end of file
diff --git a/nixos/modules/leasereport.nix b/nixos/modules/leasereport.nix
new file mode 100644
index 0000000000000000000000000000000000000000..8695a51fefa12d1fec742633c9f2e7bac81b8008
--- /dev/null
+++ b/nixos/modules/leasereport.nix
@@ -0,0 +1,5 @@
+{ callPackage }:
+let
+  leasereport = import ./leasereport-repo.nix;
+in
+  (callPackage "${leasereport}/nix" { }).LeaseReport.components.exes.LeaseReport
diff --git a/nixos/modules/overlays.nix b/nixos/modules/overlays.nix
index a644e630e4fd01da411cbc4200ea3501a1965550..6084665f006774b4d816f35471e5a98c5e27033a 100644
--- a/nixos/modules/overlays.nix
+++ b/nixos/modules/overlays.nix
@@ -15,6 +15,8 @@ let
   };
 in
 self: super: {
+  leasereport = self.callPackage ./leasereport.nix { };
+
   # Use self.python27 to get the fixed point of all packages (that is, to
   # respect all of the overrides).  This is important since we want the
   # overridden Twisted as a dependency of this env, not the original one.
diff --git a/nixos/modules/private-storage.nix b/nixos/modules/private-storage.nix
index 3b979bfb92fbe9ec3f3a5057682ef91070611dee..c454dd2cef024a1e487a1935bc729fc0482371cd 100644
--- a/nixos/modules/private-storage.nix
+++ b/nixos/modules/private-storage.nix
@@ -139,5 +139,10 @@ in
     [ "d ${incidents-dir} 0755 root root ${max-incident-age} -"
     ];
 
+    environment.systemPackages = [
+      # Provide a useful tool for reporting about shares.
+      pspkgs.leasereport
+    ];
+
   };
 }