diff --git a/nixos/modules/services/misc/mediatomb.nix b/nixos/modules/services/misc/mediatomb.nix index a19b73889ce45..58e88b2107324 100644 --- a/nixos/modules/services/misc/mediatomb.nix +++ b/nixos/modules/services/misc/mediatomb.nix @@ -65,6 +65,14 @@ let ''; + virtualLayout = + let toCustomImportScript = import-script-path: "${import-script-path}\n"; + in if ((builtins.length cfg.customImportJS) > 0) then '' + ${concatMapStrings toCustomImportScript cfg.customImportJS} + '' else '' + ${pkg}/share/${name}/js/import.js + ''; + configText = optionalString (! cfg.customCfg) '' @@ -113,9 +121,7 @@ let ${pkg}/share/${name}/js/common.js ${pkg}/share/${name}/js/playlists.js - - ${pkg}/share/${name}/js/import.js - + ${virtualLayout} @@ -335,6 +341,18 @@ in { ]; }; + customImportJS = mkOption { + type = with types; listOf path; + default = []; + description = '' + A list of user customized javascript files to import. If unspecified, + the default, this uses the default builtin engine. + ''; + example = [ + ./import.js + ]; + }; + customCfg = mkOption { type = types.bool; default = false;