This repository has been archived on 2024-03-26. You can view files and clone it, but cannot push or open issues or pull requests.
nixos/modules/common-navidrome.nix
Payas Relekar 57908c2b81 Navidrome: Move datafolder under homdir root
Navidrome config cannot be shared, it makes no sense to keep it synced under
org.
2022-06-12 15:47:03 +05:30

44 lines
1.1 KiB
Nix

{ config, pkgs, ... }:
let
payas = "payas";
in
{
# Open navidrome port, but only for local network
networking.firewall.extraCommands = ''
iptables -A nixos-fw -p tcp --source 192.168.0.0/24 --dport 4533:4533 -j nixos-fw-accept
iptables -A nixos-fw -p udp --source 192.168.0.0/24 --dport 4533:4533 -j nixos-fw-accept
'';
services.navidrome = {
enable = true;
settings = {
# Address is set by individual host
Port = 4533;
MusicFolder = "/home/payas/Music/";
DataFolder = "/home/payas/.navidrome/";
EnableCoverAnimation = false;
DefaultTheme = "Extra Dark";
CoverJpegQuality = 100;
LastFM.Enabled = false;
ListenBrainz.Enabled = true;
EnableUserEditing = true;
};
};
systemd.services.navidrome =
let
cfg = config.services.navidrome.settings;
in
{
serviceConfig = {
User = payas;
Group = payas;
ProtectHome = pkgs.lib.mkForce "tmpfs";
BindPaths = [ cfg.DataFolder ];
BindReadOnlyPaths = pkgs.lib.mkForce [
builtins.storeDir
cfg.MusicFolder
];
};
};
}