current
1{lib, ...}: {
2 den.aspects.services.provides.navidrome = {host}: {
3 nixos = {config, ...}: let
4 useTailscaleIp = host.tailscaleIpv4 != null && config.services.tailscale.enable;
5 in {
6 services.navidrome = {
7 enable = true;
8 openFirewall = useTailscaleIp;
9 settings = {
10 Address =
11 if useTailscaleIp
12 then host.tailscaleIpv4
13 else "127.0.0.1";
14 Port = 4337;
15 };
16 };
17
18 services.restic.backups."${config.networking.hostName}-backup".paths =
19 lib.mkIf
20 (builtins.hasAttr "${config.networking.hostName}-backup" config.services.restic.backups)
21 ["/var/lib/navidrome/navidrome.db"];
22 };
23 };
24}