7 ** To customize the enabled beets plugins, use the pluginOverrides input to the
11 ** Disabling a builtin plugin:
12 ** beets.override { pluginOverrides = { beatport.enable = false; }; }
14 ** Enabling an external plugin:
15 ** beets.override { pluginOverrides = {
16 ** alternatives = { enable = true; propagatedBuildInputs = [ beetsPackages.alternatives ]; };
19 lib.makeExtensible (self: {
20 beets = self.beets-stable;
22 beets-stable = callPackage ./common.nix rec {
23 inherit python3Packages;
24 # NOTE: ./builtin-plugins.nix and ./common.nix can have some conditionals
25 # be removed when stable version updates
27 src = fetchFromGitHub {
31 hash = "sha256-6pmImyopy0zFBDYoqDyWcBv61FK1kGsZwW2+7fzAnq8=";
34 # Bash completion fix for Nix
35 ./patches/bash-completion-always-print.patch
39 beets-minimal = self.beets.override { disableAllPlugins = true; };
41 beets-unstable = callPackage ./common.nix {
42 inherit python3Packages;
43 version = "2.0.0-unstable-2024-05-25";
44 src = fetchFromGitHub {
47 rev = "2130404217684f22f36de00663428602b3f96d84";
48 hash = "sha256-trqF6YVBcv+i5H4Ez3PKnRQ6mV2Ly/cw3UJC7pl19og=";
51 # Bash completion fix for Nix
52 ./patches/bash-completion-always-print.patch
56 alternatives = callPackage ./plugins/alternatives.nix { beets = self.beets-minimal; };
57 copyartifacts = callPackage ./plugins/copyartifacts.nix { beets = self.beets-minimal; };
58 extrafiles = callPackage ./plugins/extrafiles.nix { beets = self.beets-minimal; };