From f4207744cf0b09ebe6e5e311744b9938d62304b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=9C=BF=20corey?= Date: Wed, 2 Sep 2026 15:03:50 -0700 Subject: [PATCH] feat(glyph): add navidrome plugins Add apple-music and nd-lyrics (J0R6IT0/navidrome-lyrics-plugin, wrapped as a minimal derivation around the pre-built release .ndp) via the services.navidrome.plugins list, with LyricsPriority set to prefer nd-lyrics after embedded/on-disk lyrics. Entire-Checkpoint: 7ac49b348761 --- hosts/glyph/services/navidrome.nix | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/hosts/glyph/services/navidrome.nix b/hosts/glyph/services/navidrome.nix index 9c520aa1..87ee18ee 100644 --- a/hosts/glyph/services/navidrome.nix +++ b/hosts/glyph/services/navidrome.nix @@ -1,4 +1,23 @@ -{config, ...}: { +{ + config, + pkgs, + ... +}: let + nd-lyrics = pkgs.stdenvNoCC.mkDerivation { + pname = "nd-lyrics"; + version = "7.2.0"; + src = pkgs.fetchurl { + url = "https://github.com/J0R6IT0/navidrome-lyrics-plugin/releases/download/v7.2.0/nd-lyrics.ndp"; + sha256 = "03slqy31d42n2mdnix8z13lqyj3gmygmrwxrrjmb4bic9rdnw6d9"; + }; + dontUnpack = true; + installPhase = '' + mkdir -p $out/share + cp $src $out/share/nd-lyrics.ndp + ''; + passthru.isNavidromePlugin = true; + }; +in { age.secrets.navidrome-env = { file = ./../secrets/navidrome-env.age; mode = "440"; @@ -11,11 +30,17 @@ openFirewall = true; group = "media"; environmentFile = config.age.secrets.navidrome-env.path; + plugins = [ + pkgs.navidromePlugins.apple-music + nd-lyrics + ]; settings = { Address = "0.0.0.0"; MusicFolder = "/mnt/media/Music"; Scanner.Schedule = "@every 1h"; RecentlyAddedByModTime = true; + Agents = "apple-music,lastfm,deezer"; + LyricsPriority = ".ttml,.yaml,.yml,.elrc,.lrc,.srt,.txt,embedded,nd-lyrics"; }; }; }