Merge pull request #312757 from eclairevoyant/navidrome-fix

nixos/navidrome: fix settings type

Changed files
+29 -7
nixos
modules
services
+29 -7
nixos/modules/services/audio/navidrome.nix
···
}:
let
-
inherit (lib) mkEnableOption mkPackageOption mkOption maintainers;
-
inherit (lib.types) bool str;
+
inherit (lib)
+
mkEnableOption
+
mkPackageOption
+
mkOption
+
maintainers
+
;
+
inherit (lib.types)
+
bool
+
port
+
str
+
submodule
+
;
cfg = config.services.navidrome;
settingsFormat = pkgs.formats.json { };
in
···
package = mkPackageOption pkgs "navidrome" { };
settings = mkOption {
-
type = settingsFormat.type;
-
default = {
-
Address = "127.0.0.1";
-
Port = 4533;
+
type = submodule {
+
freeformType = settingsFormat.type;
+
+
options = {
+
Address = mkOption {
+
default = "127.0.0.1";
+
description = "Address to run Navidrome on.";
+
type = str;
+
};
+
+
Port = mkOption {
+
default = 4533;
+
description = "Port to run Navidrome on.";
+
type = port;
+
};
+
};
};
example = {
MusicFolder = "/mnt/music";
···
networking.firewall.allowedTCPPorts = mkIf cfg.openFirewall [ cfg.settings.Port ];
};
-
meta.maintainers = with maintainers; [ nu-nu-ko ];
+
meta.maintainers = with maintainers; [ nu-nu-ko ];
}