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"; url = "https://web.archive.org/web/20230710142618/https://extdist.wmflabs.org/dist/extensions/PluggableAuth-REL1_40-519c6d2.tar.gz";
sha256 = "sha256-N1+OV1UdzvU4iXhaS/+fuEoAXqrkVyyEPDirk0vrT8A="; 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"; name = "C3D2";
nginx.hostName = "wiki.c3d2.de"; 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 = { #skins = {
# Vector = "${config.services.mediawiki.package}/share/mediawiki/skins/Vector"; # Vector = "${config.services.mediawiki.package}/share/mediawiki/skins/Vector";
# Hector = "${config.services.mediawiki.package}/share/mediawiki/skins/Hector"; # Hector = "${config.services.mediawiki.package}/share/mediawiki/skins/Hector";
#}; #};
# initial admin user password # initial admin user password
passwordFile = config.sops.secrets."mediawiki/adminPassword".path; passwordFile = config.sops.secrets."mediawiki/adminPassword".path;
uploadsDir = "/var/lib/mediawiki/uploads"; uploadsDir = "/var/lib/mediawiki/uploads";
webserver = "nginx"; webserver = "nginx";
extraConfig = /* php */ '' extraConfig = /* php */ ''
$wgAllowUserCss = true; $wgAllowUserCss = true;
$wgDBmwschema = "mediawiki"; $wgDBmwschema = "mediawiki";
@ -193,6 +175,7 @@ in
wfLoadExtension('CiteThisPage'); wfLoadExtension('CiteThisPage');
wfLoadExtension('ConfirmEdit'); wfLoadExtension('ConfirmEdit');
wfLoadExtension('ParserFunctions'); wfLoadExtension('ParserFunctions');
wfLoadExtension('SyntaxHighlight_GeSHi');
wfLoadExtension('WikiEditor'); wfLoadExtension('WikiEditor');
// TODO: what about $wgUpgradeKey ? // TODO: what about $wgUpgradeKey ?
@ -207,18 +190,18 @@ in
$wgPluggableAuth_EnableLocalLogin = true; $wgPluggableAuth_EnableLocalLogin = true;
# SemanticMediaWiki # SemanticMediaWiki
wfLoadExtension('SemanticMediaWiki');
# TODO: expose https://github.com/NixOS/nixpkgs/blob/nixos-unstable/nixos/modules/services/web-apps/mediawiki.nix#L19 # TODO: expose https://github.com/NixOS/nixpkgs/blob/nixos-unstable/nixos/modules/services/web-apps/mediawiki.nix#L19
$smwgConfigFileDir = "/var/lib/mediawiki"; $smwgConfigFileDir = "/var/lib/mediawiki";
# default was 100 which is already occupied, using 200 to 215 # default was 100 which is already occupied, using 200 to 215
# https://www.semantic-mediawiki.org/wiki/Help:$smwgNamespaceIndex # https://www.semantic-mediawiki.org/wiki/Help:$smwgNamespaceIndex
$smwgNamespaceIndex = 200; $smwgNamespaceIndex = 200;
# Doesn't work? Not sure why.... enableSemantics('${config.services.mediawiki.nginx.hostName}');
# enableSemantics('${config.services.mediawiki.nginx.hostName}'); $smwgURITypeSchemeList = array_merge(
# $smwgURITypeSchemeList = array_merge( $smwgURITypeSchemeList, [
# $smwgURITypeSchemeList, [ 'xmpp', 'mumble', 'ssh'
# 'xmpp', 'mumble', 'ssh' ]
# ] );
# );
''; '';
}; };