From 24c65cc5b090073de2ff1c6c0b32cac0741fb1b5 Mon Sep 17 00:00:00 2001 From: Matt Nish-Lapidus Date: Tue, 11 Mar 2025 10:46:41 -0400 Subject: [PATCH] beets --- homes/emenel/default.nix | 1 + homes/media/default.nix | 2 + modules/home/beets/config.yaml | 79 ++++++++++++++++++++++++++++++++++ 3 files changed, 82 insertions(+) create mode 100644 modules/home/beets/config.yaml diff --git a/homes/emenel/default.nix b/homes/emenel/default.nix index 245b024..91d59b6 100644 --- a/homes/emenel/default.nix +++ b/homes/emenel/default.nix @@ -68,6 +68,7 @@ GSK_RENDERER = "ngl"; MOZ_ENABLE_WAYLAND = 1; LSP_USE_PLISTS = "true"; + GDK_BACKEND= "wayland"; NH_FLAKE = "\${HOME}/source/nixos-config"; }; diff --git a/homes/media/default.nix b/homes/media/default.nix index 00c7530..a3baccd 100644 --- a/homes/media/default.nix +++ b/homes/media/default.nix @@ -41,6 +41,8 @@ startServices = "sd-switch"; # auto reload services when home is rebuilt }; + xdg.config."beets".source = ../../modules/home/beets; + #custom script executables home.file.".local/bin" = { source = ../emenel/dotfiles/dot_local/bin; diff --git a/modules/home/beets/config.yaml b/modules/home/beets/config.yaml new file mode 100644 index 0000000..38f9659 --- /dev/null +++ b/modules/home/beets/config.yaml @@ -0,0 +1,79 @@ +directory: /nfs/media/Music +library: ~/.config/beets/library.db +asciify_paths: yes +import: + move: yes + copy: no + write: yes + autotag: no + incremental: yes + incremental_skip_later: yes + resume: ask + quiet_fallback: asis + log: ~/beets.log + none_rec_action: asis + duplicate_action: merge + default_action: asis +plugins: fish discogs the duplicates embedart fetchart mbsync missing unimported inline lastgenre albumtypes ftintitle plexupdate +match: + ignored_media: ['Data CD', 'DVD', 'DVD-Video', 'Blu-ray', 'HD-DVD', + 'VCD', 'SVCD', 'UMD', 'VHS'] + preferred: + countries: ['US', 'CA', 'GB|UK'] + original_year: yes +item_fields: + multidisc: 1 if disctotal > 1 else 0 +unimported: + ignore_extensions: jpg png + ignore_subdirectories: NonMusic data temp +discogs: + user_token: FhRYPcATYbmLajnzLMTqzwovNGFvZeMdVxIHsAAn + index_tracks: yes + append_style_genre: yes + separator: "; " +musicbrainz: + extra_tags: [year, catalognum, label] + genres: yes +aunique: + keys: albumartist album + disambiguators: albumtype year label catalognum albumdisambig releasegroupdisambig + bracket: '[]' +per_disc_numbering: yes +fetchart: + cautious: yes +albumtypes: + types: + - ep: 'EP' + - single: 'Single' + - soundtrack: 'OST' + - live: 'Live' + - compilation: 'Compilation' + - remix: 'Remix' + ignore_va: compilation + bracket: '[]' +lastgenre: + auto: yes + prefer_specific: no + count: 3 + separator: "; " + force: yes + source: album + fallback: 'Unclassified' + whitelist: yes +plex: + host: "localhost" + port: 32400 + token: "yjYd7H1U9ah3PSArvcev" +paths: + default: %the{$albumartist}/$album%aunique{}/%if{$multidisc,$disc-}$track - $title + comp: Various Artists/$album%aunique{}/$album%aunique{}/%if{$multidisc,$disc-}$track - $title + +ui: + color: yes + +album_fields: + format: | + formatList = [] + for item in items: + formatList.append(item.format) + return formatList