diff --git a/.circleci/config.yml b/.circleci/config.yml
index 560ec0fb1e87983fce814129242bd99fe6275526..4a8aa0fb539097958a99bf6679390f990ff54491 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -196,7 +196,8 @@ jobs:
             # If nixpkgs changes then potentially a lot of cached packages for
             # the base system will be invalidated so we may as well drop them
             # and make a new cache with the new packages.
-            - zkapauthorizer-nix-store-v4-{{ checksum "nixpkgs.rev" }}
+            - zkapauthorizer-nix-store-v4-{{ checksum "nixpkgs.rev" }}-ourdeps
+            - zkapauthorizer-nix-store-v4-{{ checksum "nixpkgs.rev" }}-
             - zkapauthorizer-nix-store-v4-
 
       - run:
@@ -225,7 +226,13 @@ jobs:
             #
             # Further, we want the "doc" output built as well because that's
             # where the coverage data ends up.
-            nix-build --cores 8 --argstr hypothesisProfile ci --arg collectCoverage true --attr doc
+            nix-build --jobs 4 --cores 4 --argstr hypothesisProfile ci --arg collectCoverage true --attr doc
+
+      - save_cache:
+          name: "Cache Nix Store Paths"
+          key: zkapauthorizer-nix-store-v4-{{ checksum "nixpkgs.rev" }}-ourdeps
+          paths:
+            - "/nix"
 
       - run:
           name: "Report Coverage"