mediawiki: properly load SMW, enable syntax

This commit is contained in:
Sandro - 2024-03-14 00:26:08 +01:00
parent 9a4f31f52b
commit 2dc80ceb82
Signed by: sandro
GPG Key ID: 3AF5A43A3EECC2E5
1 changed files with 21 additions and 38 deletions

View File

@ -69,48 +69,30 @@ in
url = "https://web.archive.org/web/20230710142618/https://extdist.wmflabs.org/dist/extensions/PluggableAuth-REL1_40-519c6d2.tar.gz";
sha256 = "sha256-N1+OV1UdzvU4iXhaS/+fuEoAXqrkVyyEPDirk0vrT8A=";
};
# source https://github.com/Die-KoMa/mediawiki/blob/main/packages/default.nix#L32-L47
# TODO: generalize
SemanticMediaWiki = let
drv = import MediaWikiExtensionsComposer {
noDev = true;
inherit pkgs;
php = pkgs.php81;
phpPackages = pkgs.php81Packages;
};
in
pkgs.stdenv.mkDerivation {
name = "mediawiki-extensions-composer";
dontUnpack = true;
installPhase = ''
mkdir $out
cp -R ${drv}/extensions/SemanticMediaWiki/* $out
cp -R ${drv}/vendor vendor
pushd vendor/composer/
substituteInPlace *.json *.php \
--replace "/extensions/SemanticMediaWiki" ""
popd
cp -R vendor $out/
'';
};
};
name = "C3D2";
nginx.hostName = "wiki.c3d2.de";
package = let
drv = import MediaWikiExtensionsComposer {
noDev = true;
inherit pkgs;
php = pkgs.php81;
phpPackages = pkgs.php81Packages;
};
in pkgs.runCommand "mediawiki-moved" {
inherit (pkgs.mediawiki) version;
} ''
mkdir -p $out/share/mediawiki
cp -r ${drv}/* $out/share/mediawiki/
'';
#skins = {
# Vector = "${config.services.mediawiki.package}/share/mediawiki/skins/Vector";
# Hector = "${config.services.mediawiki.package}/share/mediawiki/skins/Hector";
#};
# initial admin user password
passwordFile = config.sops.secrets."mediawiki/adminPassword".path;
uploadsDir = "/var/lib/mediawiki/uploads";
webserver = "nginx";
extraConfig = /* php */ ''
$wgAllowUserCss = true;
$wgDBmwschema = "mediawiki";
@ -193,6 +175,7 @@ in
wfLoadExtension('CiteThisPage');
wfLoadExtension('ConfirmEdit');
wfLoadExtension('ParserFunctions');
wfLoadExtension('SyntaxHighlight_GeSHi');
wfLoadExtension('WikiEditor');
// TODO: what about $wgUpgradeKey ?
@ -207,18 +190,18 @@ in
$wgPluggableAuth_EnableLocalLogin = true;
# SemanticMediaWiki
wfLoadExtension('SemanticMediaWiki');
# TODO: expose https://github.com/NixOS/nixpkgs/blob/nixos-unstable/nixos/modules/services/web-apps/mediawiki.nix#L19
$smwgConfigFileDir = "/var/lib/mediawiki";
# default was 100 which is already occupied, using 200 to 215
# https://www.semantic-mediawiki.org/wiki/Help:$smwgNamespaceIndex
$smwgNamespaceIndex = 200;
# Doesn't work? Not sure why....
# enableSemantics('${config.services.mediawiki.nginx.hostName}');
# $smwgURITypeSchemeList = array_merge(
# $smwgURITypeSchemeList, [
# 'xmpp', 'mumble', 'ssh'
# ]
# );
enableSemantics('${config.services.mediawiki.nginx.hostName}');
$smwgURITypeSchemeList = array_merge(
$smwgURITypeSchemeList, [
'xmpp', 'mumble', 'ssh'
]
);
'';
};