diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 019c7b2835825db2761ddb55d06c2c66e1b0dfc4..bd56bbc708f30d0d638368d0b731e909b62d4db8 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -20,7 +20,7 @@ docs:
 unit-tests:
   stage: "test"
   script:
-    - "nix-shell --run 'nix-build nixos/unit-tests.nix' && cat result"
+    - "nix-build --attr unit-tests && cat result"
 
 .morph-build: &MORPH_BUILD
   stage: "test"
@@ -70,7 +70,7 @@ system-tests:
   stage: "test"
   timeout: "3 hours"
   script:
-    - "nix-shell --run 'nix-build nixos/system-tests.nix'"
+    - "nix-build --attr system-tests"
 
 # A template for a job that can update one of the grids.
 .update-grid: &UPDATE_GRID
diff --git a/default.nix b/default.nix
index 578e5f4e5a07c07e578ea8b5e8531a0c93346e24..9d9784d5f4b9c2b56d1a0f31fb39cffd6db8f8ad 100644
--- a/default.nix
+++ b/default.nix
@@ -1,4 +1,14 @@
 { pkgs ? import ./nixpkgs-2105.nix { } }:
 {
+  # Render the project documentation source to some presentation format (ie,
+  # html) with Sphinx.
   docs = pkgs.callPackage ./docs.nix { };
+
+  # Run some system integration tests in VMs covering some of the software
+  # we're integrating (ie, application functionality).
+  system-tests = import ./nixos/system-tests.nix;
+
+  # Run some unit tests of the Nix that ties all of these things together (ie,
+  # PrivateStorageio-internal library functionality).
+  unit-tests = import ./nixos/unit-tests.nix;
 }