73 lines
1.7 KiB
Nix
73 lines
1.7 KiB
Nix
{pkgs, ...}: let
|
|
musicDir = "/server/library/music";
|
|
beetsDir = "/home/xun/beets";
|
|
in {
|
|
programs.beets = {
|
|
enable = true;
|
|
package = pkgs.beets-unstable;
|
|
settings = {
|
|
directory = "${musicDir}/beets";
|
|
library = "${beetsDir}/beets.db";
|
|
|
|
import = {
|
|
write = true;
|
|
move = true;
|
|
copy = false;
|
|
|
|
autotag = true;
|
|
confidence = 0.9;
|
|
timid = true;
|
|
group_albums = true;
|
|
};
|
|
|
|
original_date = true;
|
|
|
|
plugins = ["lyrics" "missing" "unimported" "edit" "duplicates" "info"];
|
|
|
|
lyrics = {
|
|
synced = true; # prefer synced
|
|
sources = ["lrclib" "genius" "google"];
|
|
};
|
|
|
|
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;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|