{ lib, pkgs, config, ... }: let version = pkgs.mediawiki.version; major = lib.versions.major version; minor = lib.versions.minor version; in { 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"; rev = "REL" + major + "_" + minor; # Le SHA doit être changé à chaque nouveau commit de traduction. # Pas de meilleure solution à ma connaissance pour suivre les releases. sha256 = "sha256-deKDEC87yTQrToZC5yNAH9tmV/5pFa4gsaSuOYXfIEo="; }; }; }; }