8 ** To customize the enabled beets plugins, use the pluginOverrides input to the
12 ** Disabling a builtin plugin:
13 ** beets.override { pluginOverrides = { beatport.enable = false; }; }
15 ** Enabling an external plugin:
16 ** beets.override { pluginOverrides = {
17 ** alternatives = { enable = true; propagatedBuildInputs = [ beetsPackages.alternatives ]; };
20 lib.makeExtensible (self: {
21 beets = self.beets-stable;
23 beets-stable = callPackage ./common.nix rec {
24 inherit python3Packages;
26 src = fetchFromGitHub {
30 hash = "sha256-jhwXRgUUQJgQ/PLwvY1UfHCJ9UC8DcdBpE/janao0RM=";
33 # Bash completion fix for Nix
34 ./patches/bash-completion-always-print.patch
38 beets-minimal = self.beets.override { disableAllPlugins = true; };
40 beets-unstable = callPackage ./common.nix {
41 inherit python3Packages;
42 version = "2.2.0-unstable-2024-12-02";
43 src = fetchFromGitHub {
46 rev = "f92c0ec8b14fbd59e58374fd123563123aef197b";
47 hash = "sha256-jhwXRgUUQJgQ/PLwvY1UfHCJ9UC8DcdBpE/janao0RM=";
50 # Bash completion fix for Nix
51 ./patches/bash-completion-always-print.patch
55 alternatives = callPackage ./plugins/alternatives.nix { beets = self.beets-minimal; };
56 copyartifacts = callPackage ./plugins/copyartifacts.nix { beets = self.beets-minimal; };
58 extrafiles = throw "extrafiles is unmaintained since 2020 and broken since beets 2.0.0";