diff --git a/hosts/mediawiki/default.nix b/hosts/mediawiki/default.nix index a77b393c..1449f9bf 100644 --- a/hosts/mediawiki/default.nix +++ b/hosts/mediawiki/default.nix @@ -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' + ] + ); ''; };