diff options
Diffstat (limited to '')
7 files changed, 20 insertions, 65 deletions
diff --git a/modules/home.legacy/conf/beets/default.nix b/modules/home.legacy/conf/beets/default.nix index 2fec6881..43d6bff9 100644 --- a/modules/home.legacy/conf/beets/default.nix +++ b/modules/home.legacy/conf/beets/default.nix @@ -14,7 +14,6 @@ ... }: let plugins = import ./plugins.nix {}; - # TODO: Enable xtractor again <2025-03-29> # package = pkgs.beets.override { # pluginOverrides = { @@ -23,7 +22,6 @@ # propagatedBuildInputs = [pkgs.beetsExtraPlugins.xtractor]; # }; # }; - package = pkgs.beets; in { imports = [ ./plugins @@ -31,7 +29,14 @@ in { programs.beets = { enable = true; - inherit package; + package = pkgs.python3.pkgs.toPythonApplication (pkgs.python3.pkgs.beets.override + { + ffmpeg = pkgs.ffmpeg-headless; + keyfinder-cli = pkgs.keyfinder-cli.override { + ffmpeg = + pkgs.ffmpeg-headless; + }; + }); settings = { library = "${config.xdg.dataHome}/beets/library.db"; @@ -105,18 +110,17 @@ in { }; mpdIntegration = { - enableStats = true; enableUpdate = true; host = config.home.sessionVariables.MPD_HOST; }; }; - # Use the json formatter instead of the YAML one, as the YAML formatter mangles the - # longer python inline strings. - # YAML is a superset of JSON. - xdg.configFile."beets/config.yaml".source = - lib.mkForce - ((pkgs.formats.json {}).generate - "beets-config" - config.programs.beets.settings); + # # Use the json formatter instead of the YAML one, as the YAML formatter mangles the + # # longer python inline strings. + # # YAML is a superset of JSON. + # xdg.configFile."beets/config.yaml".source = + # lib.mkForce + # ((pkgs.formats.json {}).generate + # "beets-config" + # config.programs.beets.settings); } diff --git a/modules/home.legacy/conf/beets/plugins.nix b/modules/home.legacy/conf/beets/plugins.nix index ed78b49e..aaeab843 100644 --- a/modules/home.legacy/conf/beets/plugins.nix +++ b/modules/home.legacy/conf/beets/plugins.nix @@ -20,6 +20,8 @@ # Extract things from the music file # "xtractor" + "musicbrainz" + # Calculate replay gain "replaygain" @@ -29,12 +31,6 @@ # Show tags on files/queries "info" - # Create playlist from `play_count`/`skip_count` (gathered by the `mpdstats` - # plugin) - # Note that this should come _before_ the `mpdupdate` plugin, to ensure that - # `mpdupgate` can propagate changed playlist to `mpd`. - "smartplaylist" - "inline" # Warn, when importing a matching item @@ -58,6 +54,5 @@ # Allow beets to understand deezer id's # "deezer" - "mpdstats" # Transfer MPD stats to beets "mpdupdate" # Update MPD database on import ] diff --git a/modules/home.legacy/conf/beets/plugins/default.nix b/modules/home.legacy/conf/beets/plugins/default.nix index d22369be..2b2bd607 100644 --- a/modules/home.legacy/conf/beets/plugins/default.nix +++ b/modules/home.legacy/conf/beets/plugins/default.nix @@ -15,7 +15,6 @@ ./inline ./lyrics ./replaygain - ./smartplaylist # ./xtractor ]; } diff --git a/modules/home.legacy/conf/beets/plugins/ihate/default.nix b/modules/home.legacy/conf/beets/plugins/ihate/default.nix index 51cb6f11..2356ec3b 100644 --- a/modules/home.legacy/conf/beets/plugins/ihate/default.nix +++ b/modules/home.legacy/conf/beets/plugins/ihate/default.nix @@ -11,6 +11,7 @@ programs.beets.settings.ihate = { warn = [ "title:commentary" + "title:live" "albumtype:live" ]; }; diff --git a/modules/home.legacy/conf/beets/plugins/inline/default.nix b/modules/home.legacy/conf/beets/plugins/inline/default.nix index 564d5b4c..8dccdc20 100644 --- a/modules/home.legacy/conf/beets/plugins/inline/default.nix +++ b/modules/home.legacy/conf/beets/plugins/inline/default.nix @@ -11,8 +11,6 @@ programs.beets.settings.item_fields = { primary_artist = # python - '' - albumartists[0] - ''; + ''dict(enumerate(albumartists)).get(0, artist)''; }; } diff --git a/modules/home.legacy/conf/beets/plugins/mbsubmit/default.nix b/modules/home.legacy/conf/beets/plugins/mbsubmit/default.nix deleted file mode 100644 index e69de29b..00000000 --- a/modules/home.legacy/conf/beets/plugins/mbsubmit/default.nix +++ /dev/null diff --git a/modules/home.legacy/conf/beets/plugins/smartplaylist/default.nix b/modules/home.legacy/conf/beets/plugins/smartplaylist/default.nix deleted file mode 100644 index 9b52c1ad..00000000 --- a/modules/home.legacy/conf/beets/plugins/smartplaylist/default.nix +++ /dev/null @@ -1,42 +0,0 @@ -# nixos-config - My current NixOS configuration -# -# Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de> -# SPDX-License-Identifier: GPL-3.0-or-later -# -# This file is part of my nixos-config. -# -# You should have received a copy of the License along with this program. -# If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>. -{config, ...}: { - programs.beets.settings.smartplaylist = { - relative_to = config.services.mpd.musicDirectory; - playlist_dir = config.services.mpd.playlistDirectory; - forward_slash = false; - - # Show the real m3u file paths, when running `--pretend` - pretend_paths = true; - - playlists = [ - { - name = "artists-$first_artist.m3u"; - query = ""; - } - { - name = "ratings-good.m3u"; - query = "rating:0.7..1.0"; - } - { - name = "ratings-mediocre.m3u"; - query = "rating:0.4..0.7"; - } - { - name = "ratings-bad.m3u"; - query = "rating:0.0..0.4"; - } - { - name = "not_played.m3u"; - query = "-play_count: artist:"; - } - ]; - }; -} |
