2024-04-07 22:16:33 -04:00
|
|
|
{
|
|
|
|
pkgs,
|
|
|
|
lib,
|
|
|
|
config,
|
|
|
|
...
|
|
|
|
}: {
|
2024-03-28 16:13:46 -04:00
|
|
|
options = {
|
2024-04-22 20:18:47 -04:00
|
|
|
alyraffauf.containers.nixos.navidrome.enable =
|
|
|
|
lib.mkEnableOption "Enable navidrome nixos container.";
|
|
|
|
alyraffauf.containers.nixos.navidrome.musicDirectory = lib.mkOption {
|
|
|
|
description = "Music directory for Navidrome.";
|
|
|
|
default = "/mnt/Media/Music";
|
|
|
|
type = lib.types.str;
|
|
|
|
};
|
2024-03-28 16:13:46 -04:00
|
|
|
};
|
|
|
|
|
2024-04-22 20:18:47 -04:00
|
|
|
config = lib.mkIf config.alyraffauf.containers.nixos.navidrome.enable {
|
2024-03-28 16:13:46 -04:00
|
|
|
containers.navidrome = {
|
|
|
|
autoStart = true;
|
2024-04-22 20:18:47 -04:00
|
|
|
bindMounts."/Music".hostPath = config.alyraffauf.containers.nixos.navidrome.musicDirectory;
|
2024-04-07 22:16:33 -04:00
|
|
|
config = {
|
|
|
|
config,
|
|
|
|
pkgs,
|
|
|
|
lib,
|
|
|
|
...
|
|
|
|
}: {
|
2024-03-28 16:13:46 -04:00
|
|
|
system.stateVersion = "24.05";
|
|
|
|
services.navidrome = {
|
|
|
|
enable = true;
|
|
|
|
openFirewall = true;
|
|
|
|
settings = {
|
|
|
|
Address = "0.0.0.0";
|
|
|
|
Port = 4533;
|
|
|
|
MusicFolder = "/Music";
|
|
|
|
DefaultTheme = "Auto";
|
|
|
|
SubsonicArtistParticipations = true;
|
2024-04-22 20:18:47 -04:00
|
|
|
UIWelcomeMessage = "Welcome to Navidrome! Registrations are closed.";
|
2024-03-28 16:13:46 -04:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2024-03-28 16:40:23 -04:00
|
|
|
}
|