1
0
Fork 0
forked from fabian/nix
nix_config_fabian/trivionomicon/modules/mediawiki/options.nix

72 lines
2 KiB
Nix

{lib, ...}:
with lib.types; {
sys = {
hostName = lib.mkOption {
type = str;
description = "used for nginx virtualhost. no protocol";
example = "wiki.posixlycorrect.com";
};
name = lib.mkOption {
type = str;
description = "name of the wiki";
example = "posixlycorrect wiki";
};
passwordFile = lib.mkOption {
type = types.path;
description = "path of passwordfile for mediawiki";
example = "/run/keys/mediawiki-password";
};
skins = lib.mkOption {
type = types.attrsOf (types.nullOr str);
description = "skins for mediawiki";
example = ''{
citizen = "flakes.mediawikiSkinCitizen";
};'';
};
extraConfig = lib.mkOption {
type = str;
example = ''
# Disable anonymous editing and account creation
$wgGroupPermissions['*']['edit'] = false;
$wgGroupPermissions['*']['createaccount'] = false;
$wgCitizenThemeDefault = 'dark';
$wgCitizenShowPageTools = 'login';
$wgLogos = [
'icon' => "https://example.com/favicon.png",
'1x' => "https://example.com/favicon.png",
'2x' => "https://example.com/favicon.png",
];
$wgEnableEmail = false; #TODO: arreglar esto
$wgNoReplyAddress = 'mediawiki@example.com';
$wgEmergencyContact = 'mediawiki@example.com';
$wgPasswordSender = 'mediawiki@example.com';
'';
};
extensions = lib.mkOption {
type = types.attrsOf (types.nullOr types.path);
description = "some extensions are included and can enabled by passing null";
example = ''{
VisualEditor = null;
CategoryTree = null;
CiteThisPage = null;
Scribunto = null;
Cite = null;
CodeEditor = null;
Math = null;
MultimediaViewer = null;
PdfHandler = null;
Poem = null;
SecureLinkFixer = null;
WikiEditor = null;
ParserFunctions = null;
};'';
};
};
}