about summary refs log tree commit diff stats
path: root/modules/home/conf/beets/plugins/smartplaylist
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2024-08-11 13:25:34 +0200
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2024-08-11 13:25:34 +0200
commit90358ae73d237ced75e0e99dba456d2b1461f74d (patch)
treea2e13126e73c5b376600b097e7b6b6e6089ed81f /modules/home/conf/beets/plugins/smartplaylist
parentfix(home/beets): Improve path sorting and awareness of Live recordings (diff)
downloadnixos-config-90358ae73d237ced75e0e99dba456d2b1461f74d.zip
refactor(home/beets): Move the plugins out into separate directories
Diffstat (limited to 'modules/home/conf/beets/plugins/smartplaylist')
-rw-r--r--modules/home/conf/beets/plugins/smartplaylist/default.nix33
1 files changed, 33 insertions, 0 deletions
diff --git a/modules/home/conf/beets/plugins/smartplaylist/default.nix b/modules/home/conf/beets/plugins/smartplaylist/default.nix
new file mode 100644
index 00000000..b55c487c
--- /dev/null
+++ b/modules/home/conf/beets/plugins/smartplaylist/default.nix
@@ -0,0 +1,33 @@
+{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:";
+      }
+    ];
+  };
+}