about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--modules/profiles/common.nix9
-rw-r--r--release.nix3
2 files changed, 11 insertions, 1 deletions
diff --git a/modules/profiles/common.nix b/modules/profiles/common.nix
index 39535d4f..8621f6ae 100644
--- a/modules/profiles/common.nix
+++ b/modules/profiles/common.nix
@@ -33,6 +33,15 @@ with lib;
         The channel name which is used to refer to <literal>vuizvui</literal>.
       '';
     };
+
+    requiresTests = mkOption {
+      type = types.listOf types.package;
+      default = [];
+      description = ''
+        A list of derivations which have to succeed in order to trigger a
+        channel update for the current configuration/machine.
+      '';
+    };
   };
 
   config = {
diff --git a/release.nix b/release.nix
index 4ecbeabc..5245e267 100644
--- a/release.nix
+++ b/release.nix
@@ -83,7 +83,8 @@ in with pkgsUpstream.lib; with builtins; {
 
     machines = mapAttrsRecursiveCond (m: !(m ? build)) (path: attrs: mkChannel {
       name = "machine-${last path}";
-      constituents = singleton attrs.build.config.system.build.toplevel;
+      constituents = singleton attrs.build.config.system.build.toplevel
+                  ++ attrs.build.config.vuizvui.requiresTests;
     }) (import "${vuizvui}/machines" { inherit system; });
   };