diff --git a/default.nix b/default.nix
index 9910ed370f3e0a4562f94beddde68cb87e240120..6d24dab31df44598c1baff1feefa9e2e836cf724 100644
--- a/default.nix
+++ b/default.nix
@@ -3,12 +3,17 @@
 , collectCoverage ? false
 , testSuite ? null
 , trialArgs ? null
-, tahoe-lafs ? null
+, tahoe-lafs ? "1.14.0"
 }:
 let
+  tahoe-packages = {
+    "1.14.0"    = pkgs.python2Packages.tahoe-lafs-1_14;
+    "1.16.0rc1" = pkgs.python2Packages.callPackage ./nix/tahoe-lafs-1_16.nix { };
+  };
+  tahoe-lafs' = builtins.getAttr tahoe-lafs tahoe-packages;
+
   pkgs' = pkgs.extend (import ./overlays.nix);
   callPackage = pkgs'.python27Packages.callPackage;
-  tahoe-lafs' = if tahoe-lafs == null then pkgs.python2Packages.tahoe-lafs-1_14 else tahoe-lafs;
 in
 callPackage ./zkapauthorizer.nix {
   challenge-bypass-ristretto = callPackage ./python-challenge-bypass-ristretto.nix { };
diff --git a/nix/repo-1_16_0_rc1.nix b/nix/repo-1_16_0_rc1.nix
new file mode 100644
index 0000000000000000000000000000000000000000..4dce852de07a9ae2116b6ef3a813e44aca8d5d15
--- /dev/null
+++ b/nix/repo-1_16_0_rc1.nix
@@ -0,0 +1,7 @@
+{ fetchFromGitHub }:
+fetchFromGitHub {
+  owner = "fenn-cs";
+  repo = "tahoe-lafs";
+  rev = "f6a96ae3976ee21ad0376f7b6a22fc3d12110dce";
+  sha256 = "sha256:127z83c388mvxkz1qdjqdnlj5xgshyn5w5v40vda6mpyy7k9bpb4";
+}
diff --git a/nix/tahoe-lafs-1_16.nix b/nix/tahoe-lafs-1_16.nix
new file mode 100644
index 0000000000000000000000000000000000000000..0aed9bd9b1b83c3ff40bf33c5597c10cfd46c28e
--- /dev/null
+++ b/nix/tahoe-lafs-1_16.nix
@@ -0,0 +1,6 @@
+{ callPackage }:
+let
+  repo = callPackage ./repo-1_16_0_rc1.nix { };
+  tahoe-lafs = callPackage "${repo}/nix" { };
+in
+  tahoe-lafs