enabling all plugins and add custom config
This commit is contained in:
parent
6102efd53d
commit
08b34e9ce9
129
flake.nix
129
flake.nix
|
@ -2,7 +2,7 @@
|
||||||
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-22.05";
|
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-22.05";
|
||||||
|
|
||||||
outputs = { self, nixpkgs }: {
|
outputs = { self, nixpkgs }: {
|
||||||
|
|
||||||
devShell.x86_64-linux = import ./shell.nix {
|
devShell.x86_64-linux = import ./shell.nix {
|
||||||
pkgs = import nixpkgs { system = "x86_64-linux"; };
|
pkgs = import nixpkgs { system = "x86_64-linux"; };
|
||||||
};
|
};
|
||||||
|
@ -15,9 +15,9 @@
|
||||||
mediaWikiOld = pkgs.mediawiki.overrideAttrs ({pname, ...}: rec {
|
mediaWikiOld = pkgs.mediawiki.overrideAttrs ({pname, ...}: rec {
|
||||||
version = "1.38.1";
|
version = "1.38.1";
|
||||||
src = with lib; pkgs.fetchurl {
|
src = with lib; pkgs.fetchurl {
|
||||||
url = "https://releases.wikimedia.org/mediawiki/${versions.majorMinor version}/${pname}-${version}.tar.gz";
|
url = "https://releases.wikimedia.org/mediawiki/${versions.majorMinor version}/${pname}-${version}.tar.gz";
|
||||||
sha256 = "sha256-EXNlUloN7xsgnKUIV9ZXNrYlRbh3p1NIpXqF0SZDezE=";
|
sha256 = "sha256-EXNlUloN7xsgnKUIV9ZXNrYlRbh3p1NIpXqF0SZDezE=";
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
@ -33,8 +33,8 @@
|
||||||
networking.firewall.allowedTCPPorts = [ 80 5432 ];
|
networking.firewall.allowedTCPPorts = [ 80 5432 ];
|
||||||
|
|
||||||
services.postgresql =
|
services.postgresql =
|
||||||
let
|
let
|
||||||
cfg = config.services.mediawiki;
|
cfg = config.services.mediawiki;
|
||||||
in {
|
in {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableTCPIP = true;
|
enableTCPIP = true;
|
||||||
|
@ -53,27 +53,95 @@
|
||||||
host all all 10.233.2.1/32 trust
|
host all all 10.233.2.1/32 trust
|
||||||
host all all 169.254.155.231/32 trust
|
host all all 169.254.155.231/32 trust
|
||||||
host all all ::1/128 trust
|
host all all ::1/128 trust
|
||||||
'';};
|
'';};
|
||||||
|
|
||||||
system.stateVersion = "22.05";
|
system.stateVersion = "22.05";
|
||||||
|
|
||||||
services.mediawiki = let
|
services.mediawiki = let
|
||||||
cfg = config.services.mediawiki;
|
cfg = config.services.mediawiki;
|
||||||
in {
|
in {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = mediaWikiOld;
|
package = mediaWikiOld;
|
||||||
virtualHost = {
|
virtualHost = {
|
||||||
hostName = "mediawiki";
|
hostName = "mediawiki";
|
||||||
adminAddr = "root@example.com";
|
adminAddr = "root@example.com";
|
||||||
};
|
};
|
||||||
#skins = {
|
#skins = {
|
||||||
# Vector = "${mediaWikiOld}/share/mediawiki/skins/Vector";
|
# Vector = "${mediaWikiOld}/share/mediawiki/skins/Vector";
|
||||||
# Hector = "${mediaWikiOld}/share/mediawiki/skins/Hector";
|
# Hector = "${mediaWikiOld}/share/mediawiki/skins/Hector";
|
||||||
#};
|
#};
|
||||||
|
name = "C3D2";
|
||||||
|
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
$wgShowExceptionDetails = true;
|
$wgShowExceptionDetails = true;
|
||||||
$wgDBserver = "${cfg.database.socket}";
|
$wgDBserver = "${cfg.database.socket}";
|
||||||
$wgDBmwschema = "mediawiki";
|
$wgDBmwschema = "mediawiki";
|
||||||
|
|
||||||
|
$wgLogo = "https://www.c3d2.de/images/ck.png";
|
||||||
|
$wgEmergencyContact = "wiki@c3d2.de";
|
||||||
|
$wgPasswordSender = "wiki@c3d2.de";
|
||||||
|
$wgLanguageCode = "de";
|
||||||
|
|
||||||
|
$wgGroupPermissions['*']['edit'] = false;
|
||||||
|
$wgGroupPermissions['user']['edit'] = true;
|
||||||
|
$wgGroupPermissions['sysop']['interwiki'] = true;
|
||||||
|
$wgGroupPermissions['sysop']['userrights'] = true;
|
||||||
|
|
||||||
|
define("NS_INTERN", 100);
|
||||||
|
define("NS_INTERN_TALK", 101);
|
||||||
|
|
||||||
|
$wgExtraNamespaces[NS_INTERN] = "Intern";
|
||||||
|
$wgExtraNamespaces[NS_INTERN_TALK] = "Intern_Diskussion";
|
||||||
|
|
||||||
|
$wgGroupPermissions['intern']['move'] = true;
|
||||||
|
$wgGroupPermissions['intern']['move-subpages'] = true;
|
||||||
|
$wgGroupPermissions['intern']['move-rootuserpages'] = true; // can move root userpages
|
||||||
|
$wgGroupPermissions['intern']['read'] = true;
|
||||||
|
$wgGroupPermissions['intern']['edit'] = true;
|
||||||
|
$wgGroupPermissions['intern']['createpage'] = true;
|
||||||
|
$wgGroupPermissions['intern']['createtalk'] = true;
|
||||||
|
$wgGroupPermissions['intern']['writeapi'] = true;
|
||||||
|
$wgGroupPermissions['intern']['upload'] = true;
|
||||||
|
$wgGroupPermissions['intern']['reupload'] = true;
|
||||||
|
$wgGroupPermissions['intern']['reupload-shared'] = true;
|
||||||
|
$wgGroupPermissions['intern']['minoredit'] = true;
|
||||||
|
$wgGroupPermissions['intern']['purge'] = true; // can use ?action=purge without clicking "ok"
|
||||||
|
$wgGroupPermissions['intern']['sendemail'] = true;
|
||||||
|
|
||||||
|
$wgNamespacePermissionLockdown[NS_INTERN]['*'] = array('intern');
|
||||||
|
$wgNamespacePermissionLockdown[NS_INTERN_TALK]['*'] = array('intern');
|
||||||
|
|
||||||
|
#NS i4r
|
||||||
|
define("NS_I4R", 102);
|
||||||
|
define("NS_I4R_TALK", 103);
|
||||||
|
$wgExtraNamespaces[NS_I4R] = "IT4Refugees";
|
||||||
|
$wgExtraNamespaces[NS_I4R_TALK] = "IT4Refugees_Diskussion";
|
||||||
|
$wgGroupPermissions['i4r']['move'] = true;
|
||||||
|
$wgGroupPermissions['i4r']['move-subpages'] = true;
|
||||||
|
$wgGroupPermissions['i4r']['move-rootuserpages'] = true; // can move root userpages
|
||||||
|
$wgGroupPermissions['i4r']['read'] = true;
|
||||||
|
$wgGroupPermissions['i4r']['edit'] = true;
|
||||||
|
$wgGroupPermissions['i4r']['createpage'] = true;
|
||||||
|
$wgGroupPermissions['i4r']['createtalk'] = true;
|
||||||
|
$wgGroupPermissions['i4r']['writeapi'] = true;
|
||||||
|
$wgGroupPermissions['i4r']['upload'] = true;
|
||||||
|
$wgGroupPermissions['i4r']['reupload'] = true;
|
||||||
|
$wgGroupPermissions['i4r']['reupload-shared'] = true;
|
||||||
|
$wgGroupPermissions['i4r']['minoredit'] = true;
|
||||||
|
$wgGroupPermissions['i4r']['purge'] = true; // can use ?action=purge without clicking "ok"
|
||||||
|
$wgGroupPermissions['i4r']['sendemail'] = true;
|
||||||
|
$wgNamespacePermissionLockdown[NS_I4R]['*'] = array('i4r');
|
||||||
|
$wgNamespacePermissionLockdown[NS_I4R_TALK]['*'] = array('i4r');
|
||||||
|
|
||||||
|
$wgGroupPermissions['sysop']['deletelogentry'] = true;
|
||||||
|
$wgGroupPermissions['sysop']['deleterevision'] = true;
|
||||||
|
|
||||||
|
$wgEnableAPI = true;
|
||||||
|
$wgAllowUserCss = true;
|
||||||
|
$wgUseAjax = true;
|
||||||
|
$wgEnableMWSuggest = true;
|
||||||
|
|
||||||
|
$wgScribuntoDefaultEngine = 'luastandalone';
|
||||||
'';
|
'';
|
||||||
extensions = {
|
extensions = {
|
||||||
Interwiki = pkgs.fetchzip {
|
Interwiki = pkgs.fetchzip {
|
||||||
|
@ -84,6 +152,26 @@
|
||||||
url = "https://extdist.wmflabs.org/dist/extensions/Cite-REL1_38-7fdd57d.tar.gz";
|
url = "https://extdist.wmflabs.org/dist/extensions/Cite-REL1_38-7fdd57d.tar.gz";
|
||||||
sha256 = "sha256-/s9byrAVjky0EeiokUEchG3ICw+Q2T6HLjbzHnl3uVE=";
|
sha256 = "sha256-/s9byrAVjky0EeiokUEchG3ICw+Q2T6HLjbzHnl3uVE=";
|
||||||
};
|
};
|
||||||
|
ConfirmEdit = pkgs.fetchzip {
|
||||||
|
url = "https://extdist.wmflabs.org/dist/extensions/ConfirmEdit-REL1_38-9ae04a5.tar.gz";
|
||||||
|
sha256 = "sha256-iiRT98uUmy1gvKzl/5ijheAAjUK3BLewt8IG8qdCHsA=";
|
||||||
|
};
|
||||||
|
CiteThisPage = pkgs.fetchzip {
|
||||||
|
url = "https://extdist.wmflabs.org/dist/extensions/CiteThisPage-REL1_38-157e3bc.tar.gz";
|
||||||
|
sha256 = "sha256-q2z4y4Afcq98/Dh6kQqZxeUg9fYFv9ntR+UyelHLDKc=";
|
||||||
|
};
|
||||||
|
ParserFunctions = pkgs.fetchzip {
|
||||||
|
url = "https://extdist.wmflabs.org/dist/extensions/ParserFunctions-REL1_38-c2ccf36.tar.gz";
|
||||||
|
sha256 = "sha256-z3Gwl/xzFBUUAm9u6ixgfJgrO5oTopXGuXEpaewUG1Y=";
|
||||||
|
};
|
||||||
|
SyntaxHightlight = pkgs.fetchzip {
|
||||||
|
url = "https://extdist.wmflabs.org/dist/extensions/SyntaxHighlight_GeSHi-REL1_38-150f839.tar.gz";
|
||||||
|
sha256 = "sha256-miXbsf2TdalEkUGiVrh55q3NuEtmnQQbb0f1XBmSilw=";
|
||||||
|
};
|
||||||
|
intersection = pkgs.fetchzip {
|
||||||
|
url = "https://extdist.wmflabs.org/dist/extensions/intersection-REL1_38-8525097.tar.gz";
|
||||||
|
sha256 = "sha256-shgA0XLG6pgikqldOfda40hV9zC1eBp+NalGhevFq2Q=";
|
||||||
|
};
|
||||||
#DynamicPageList = pkgs.fetchzip {
|
#DynamicPageList = pkgs.fetchzip {
|
||||||
# url = "https://extdist.wmflabs.org/dist/extensions/DynamicPageList-REL1_38-3b7a26d.tar.gz";
|
# url = "https://extdist.wmflabs.org/dist/extensions/DynamicPageList-REL1_38-3b7a26d.tar.gz";
|
||||||
# sha256 = "sha256-WjVLks0Q9hSN2poqbKzTJhvOXog7UHJqjY2WJ4Uc64o=";
|
# sha256 = "sha256-WjVLks0Q9hSN2poqbKzTJhvOXog7UHJqjY2WJ4Uc64o=";
|
||||||
|
@ -104,10 +192,11 @@
|
||||||
user = "mediawiki";
|
user = "mediawiki";
|
||||||
name = "mediawiki";
|
name = "mediawiki";
|
||||||
};
|
};
|
||||||
|
uploadsDir = "/var/lib/mediawiki/uploads";
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue