From dfeafc80b84297c00f1c96f19636d185a0eb04b1 Mon Sep 17 00:00:00 2001 From: xunuwu Date: Wed, 19 Feb 2025 00:08:59 +0100 Subject: [PATCH] enable beets (not fully configured) --- home/profiles/programs/music/beets.nix | 69 ++++++++++++++++++++++---- home/suites/nixdesk/default.nix | 2 +- 2 files changed, 60 insertions(+), 11 deletions(-) diff --git a/home/profiles/programs/music/beets.nix b/home/profiles/programs/music/beets.nix index 86601a8..098d727 100644 --- a/home/profiles/programs/music/beets.nix +++ b/home/profiles/programs/music/beets.nix @@ -1,25 +1,74 @@ {pkgs, ...}: let - musicDir = "/home/xun/music/test"; + musicDir = "/home/xun/music/copy"; in { programs.beets = { enable = true; package = pkgs.beets-unstable; settings = { - directory = "${musicDir}/tagged"; - library = "${musicDir}/beets/beets.db"; + directory = "${musicDir}/beets"; + library = "${musicDir}/beets.db"; - # import = { - # }; + import = { + write = true; + move = true; + copy = false; - plugins = [ - "rewrite" - ]; + autotag = true; + confidence = 0.9; + timid = true; + group_albums = true; + }; + + original_date = true; + + plugins = ["rewrite" "lyrics" "missing" "unimported" "edit" "duplicates" "info"]; rewrite = { "artist GHOST" = "Ghost and Pals"; }; - # plugins = [ - # ]; + lyrics = { + synced = true; # prefer synced + }; + + paths = { + # default = "$albumartist/$album$year/$albumartist - $track - $title"; + default = "$albumartist/$album%aunique{}/$track $title"; + singleton = "single/$artist/$title"; + comp = "comp/$album%aunique{}/$track $title"; + }; + + unimported.ignore_extensions = ["jpg" "png"]; + + # threaded = true; + # timeout = 5; + # verbose = false; + + match = { + strong_rec_thresh = 0.1; + medium_rec_thresh = 0.25; + rec_gap_thresh = 0.25; + distance_weights = { + source = 2.0; + artist = 3.0; + album = 3.0; + media = 1.0; + mediums = 1.0; + year = 1.0; + country = 0.5; + label = 0.5; + catalognum = 0.5; + albumdisambig = 0.5; + album_id = 5.0; + tracks = 2.0; + missing_tracks = 0.9; + unmatched_tracks = 0.6; + track_title = 3.0; + track_artist = 2.0; + track_index = 1.0; + track_length = 2.0; + track_id = 5.0; + }; + }; }; }; } diff --git a/home/suites/nixdesk/default.nix b/home/suites/nixdesk/default.nix index 8188090..3330b8e 100644 --- a/home/suites/nixdesk/default.nix +++ b/home/suites/nixdesk/default.nix @@ -72,7 +72,7 @@ programs.music.puddletag programs.music.picard - # programs.music.beets + programs.music.beets programs.music.cmus programs.media.mpv