mediawiki: properly load SMW, enable syntax
This commit is contained in:
parent
9a4f31f52b
commit
2dc80ceb82
|
@ -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'
|
]
|
||||||
# ]
|
);
|
||||||
# );
|
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue