From a9744733af7e64de1b936832c2caf93ee223b8a7 Mon Sep 17 00:00:00 2001 From: Gabriel Arazas Date: Fri, 26 May 2023 13:16:20 +0800 Subject: [PATCH] users/foodogsquared: configure Beets --- users/foodogsquared/default.nix | 57 +++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/users/foodogsquared/default.nix b/users/foodogsquared/default.nix index 853c963..a2ee17d 100644 --- a/users/foodogsquared/default.nix +++ b/users/foodogsquared/default.nix @@ -1,5 +1,62 @@ { config, lib, pkgs, ... }: +let + musicDir = config.xdg.userDirs.music; + playlistsDir = "${musicDir}/playlists"; +in { + # My music player setup, completely configured with Nix! + programs.beets = { + enable = true; + settings = { + library = "${musicDir}/library.db"; + plugins = [ + "acousticbrainz" + "chroma" + "edit" + "export" + "fetchart" + "fromfilename" + "fuzzy" + "mbsync" + "playlist" + "scrub" + "smartplaylist" + ]; + ignore_hidden = true; + directory = musicDir; + ui.color = true; + + import = { + move = true; + link = false; + resume = true; + incremental = true; + group_albums = true; + log = "beets.log"; + }; + + match.ignore_video_tracks = true; + + # Plugins configuration. + fuzzy.prefix = "-"; + scrub.auto = true; + smartplaylist = { + relative_to = musicDir; + playlist_dir = playlistsDir; + playlists = [ + { + name = "all.m3u8"; + query = ""; + } + { + name = "released-in-$year.m3u8"; + query = "year:2000..2023"; + } + ]; + }; + }; + }; + home.stateVersion = "23.05"; }