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}