diff --git a/flake.lock b/flake.lock
index 7b6553f8889506b75c0820f2f318e7379327d637..59b5ca30391d5f71e7d5ee805a034b4fe1a490f0 100644
--- a/flake.lock
+++ b/flake.lock
@@ -358,11 +358,11 @@
         "pre-commit-hooks": "pre-commit-hooks"
       },
       "locked": {
-        "lastModified": 1686149618,
-        "narHash": "sha256-/IHWacNutk3tklouWOgClp7FnOH+Yk6If13kKJMSEi8=",
+        "lastModified": 1692187439,
+        "narHash": "sha256-m7c4EPFWmB1OmV3dSYQk2qtXR53xOjZdLCjMtzHSK34=",
         "ref": "main",
-        "rev": "49696f704eb965f57d729871c6d450ac0aff2b68",
-        "revCount": 12,
+        "rev": "408f3deab2e2f6ae60349776dde02c44f71fb386",
+        "revCount": 16,
         "type": "git",
         "url": "https://whetstone.private.storage/jcalderone/hs-flake-utils.git"
       },
diff --git a/flake.nix b/flake.nix
index e5071379920df5838d9abbfcf76d9d9106cd4439..f77dd86f9f17f28773cacb18c05db85a987e6b0c 100644
--- a/flake.nix
+++ b/flake.nix
@@ -91,21 +91,12 @@
 
       # Using the working directory of `nix run`, do a build with cabal and
       # then run the test suite.
-      apps.cabal-test = {
-        type = "app";
-        program = "${
-          pkgs.writeShellApplication {
-            name = "cabal-build-and-test";
-            runtimeInputs = with pkgs; [pkg-config haskell.compiler.${ghcVersion} cabal-install];
-
-            text = ''
-              nix run .#generate-cabal-project
-              cabal update hackage.haskell.org
-              cabal build
-              cabal run tests
-            '';
-          }
-        }/bin/cabal-build-and-test";
+      apps.cabal-test = hslib.apps.cabal-test {
+        preBuild = ''
+          nix run .#generate-cabal-project
+        '';
       };
+
+      apps.release = hslib.apps.release {};
     });
 }