about summary refs log tree commit diff
diff options
context:
space:
mode:
authorDoron Behar <doron.behar@gmail.com>2024-06-03 20:21:14 +0300
committerDoron Behar <doron.behar@gmail.com>2024-06-04 14:06:57 +0300
commitdb10d610ddb2243e6e924d10a506ee8418a6e713 (patch)
tree3f06b72b0b79dfaa8873e0d7375bf739c324971c
parent340d46ceac0640399b3618b52874ce6f5dbf30cf (diff)
beets: warn about deprecated plugins
Co-authored-by: aszlig <aszlig@nix.build>
-rw-r--r--pkgs/tools/audio/beets/common.nix10
1 files changed, 9 insertions, 1 deletions
diff --git a/pkgs/tools/audio/beets/common.nix b/pkgs/tools/audio/beets/common.nix
index fb8b6be0ed8a6..fd3adbc26c9db 100644
--- a/pkgs/tools/audio/beets/common.nix
+++ b/pkgs/tools/audio/beets/common.nix
@@ -55,7 +55,15 @@ let
   };
 
   basePlugins = lib.mapAttrs (_: a: { builtin = true; } // a) (import ./builtin-plugins.nix inputs);
-  allPlugins = lib.mapAttrs (n: a: mkPlugin { name = n; } // a) (lib.recursiveUpdate basePlugins pluginOverrides);
+  pluginOverrides' = lib.mapAttrs
+    (plugName: lib.throwIf
+      (basePlugins.${plugName}.deprecated or false)
+      "beets evaluation error: Plugin ${plugName} was enabled in pluginOverrides, but it has been removed. Remove the override to fix evaluation."
+    )
+    pluginOverrides
+  ;
+
+  allPlugins = lib.mapAttrs ( n: a: mkPlugin { name = n; } // a) (lib.recursiveUpdate basePlugins pluginOverrides');
   builtinPlugins = lib.filterAttrs (_: p: p.builtin) allPlugins;
   enabledPlugins = lib.filterAttrs (_: p: p.enable) allPlugins;
   disabledPlugins = lib.filterAttrs (_: p: !p.enable) allPlugins;