36 lines
No EOL
990 B
Nix
36 lines
No EOL
990 B
Nix
let
|
|
common = import ./common.nix;
|
|
in
|
|
rec {
|
|
getKiwix = serviceData:
|
|
let
|
|
kiwix =
|
|
if serviceData ? kiwix then
|
|
common.ensureAttrset "config/services.nix kiwix" serviceData.kiwix
|
|
else
|
|
throw "config/services.nix must define kiwix attrset.";
|
|
|
|
rootDir =
|
|
if kiwix ? root_dir then
|
|
common.ensureNonEmptyString "config/services.nix kiwix.root_dir" kiwix.root_dir
|
|
else
|
|
throw "config/services.nix kiwix.root_dir must exist.";
|
|
|
|
webPort =
|
|
if kiwix ? port then
|
|
common.ensureInt "config/services.nix kiwix.port" kiwix.port
|
|
else
|
|
throw "config/services.nix kiwix.port must exist.";
|
|
|
|
zimUrls =
|
|
if kiwix ? urls then
|
|
common.ensureList "config/services.nix kiwix.urls" kiwix.urls
|
|
else
|
|
throw "config/services.nix kiwix.urls must exist.";
|
|
in
|
|
{
|
|
root_dir = rootDir;
|
|
port = webPort;
|
|
urls = zimUrls;
|
|
};
|
|
} |