diff --git a/cabal.project b/cabal.project
deleted file mode 100644
index 78fa3af55a5c1c65dc617f30e2ced0b5e78c37f6..0000000000000000000000000000000000000000
--- a/cabal.project
+++ /dev/null
@@ -1,14 +0,0 @@
-packages: .
-          -- These aren't released on hackage yet so we have to grab them
-          -- straight from the vcs host.  Probably should do some releases
-          -- soon.
-          https://whetstone.private.storage/privatestorage/tahoe-chk/-/archive/0.1.0.1/tahoe-chk-0.1.0.1.tar.gz
-
-tests: True
-
-package zlib
-        -- Turn on discovery of the underlying zlib using pkg-config.  This
-        -- fixes build failures when the underlying zlib is not in the
-        -- traditional location but is discoverable with pkg-config.  It might
-        -- break non-pkg-config platforms.
-        flags: +pkg-config
diff --git a/flake.nix b/flake.nix
index cc2531248b496c8e322a472788860b38f0d8d648..d372c3a446598b8fe02247dc792a5e448babbae8 100644
--- a/flake.nix
+++ b/flake.nix
@@ -39,6 +39,18 @@
     in {
       checks = hslib.checks {};
       devShells = hslib.devShells {
+        shellHook = ''
+          cat >cabal.project.local <<EOF
+          -- This file is auto-generated by the flake devShell's shellHook.  Do
+          -- not edit this file.  Make changes in flake.nix.
+          tests: true
+          packages:
+            -- These aren't released on hackage yet so we have to get them
+            -- another way.  Here, we get them from the Nix store.
+            -- tahoe-chk
+            ${tahoe-chk}
+          EOF
+        '';
         extraBuildInputs = pkgs:
           with pkgs; [
             zlib