nixos/modules/services/mediawiki.nix

69 lines
1.6 KiB
Nix

{ pkgs, config, ... }:
{
age.secrets.mediawiki-admin-passwd = {
file = ../../secrets/mediakiwi/mediawiki-admin-passwd.age;
owner = "mediawiki";
};
services.mediawiki = {
enable = true;
name = "Wiki Crans";
nginx.hostName = "mediakiwi.crans.org";
webserver = "nginx";
passwordFile = config.age.secrets.mediawiki-admin-passwd.path;
extraConfig = ''
# Server Settings
$wgFavicon = 'https://www.crans.org/images/favicon.ico';
$wgLogo = 'https://www.crans.org/images/crans.svg';
# contact info
$wgEmergencyContact = 'contact@crans.org';
# default theme
$wgDefaultSkin = 'citizen';
$wgLanguageCode = 'fr';
# Disable anonymous editing
$wgGroupPermissions['*']['edit'] = false;
# Extensions
$wgWikiEditorRealtimePreview = true;
'';
skins = {
Citizen = pkgs.fetchFromGitHub {
owner = "StarCitizenTools";
repo = "mediawiki-skins-Citizen";
tag = "v3.2.0";
sha256 = "sha256-XtjYMBK2pINwbAzAKFJ+nWxcFXQd2E/Gqf3x+3Pa8VE=";
};
};
extensions = {
# Enables embedded extensions
Math = null;
MultimediaViewer = null;
SyntaxHighlight_GeSHi = null;
VisualEditor = null;
WikiEditor = null;
# Popups
TextExtracts = null;
PageImages = null;
Popups = pkgs.fetchFromGitHub {
owner = "wikimedia";
repo = "mediawiki-extensions-Popups";
tag = "REL1_38";
sha256 = "sha256-iguedL3pih3XnnAMt/kV+PVCu7MRCuKXXI8zGu9tjZw=";
};
};
};
}