diff --git a/flake.lock b/flake.lock index 1e4ecaf..e9d49ce 100644 --- a/flake.lock +++ b/flake.lock @@ -2,16 +2,16 @@ "nodes": { "nixpkgs": { "locked": { - "lastModified": 1630761588, - "narHash": "sha256-7GXckvZy7DGh2KIyfdArqwnyeSc5Owy1fumEDQyd8eY=", + "lastModified": 1655278232, + "narHash": "sha256-H6s7tnHYiDKFCcLADS4sl1sUq0dDJuRQXCieguk/6SA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a51aa6523bd8ee985bc70987909eff235900197a", + "rev": "8b538fcb329a7bc3d153962f17c509ee49166973", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-unstable", + "ref": "nixos-22.05", "repo": "nixpkgs", "type": "github" } diff --git a/flake.nix b/flake.nix index 7ddb161..56eb802 100644 --- a/flake.nix +++ b/flake.nix @@ -1,5 +1,5 @@ { - inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-22.05"; outputs = { self, nixpkgs }: { @@ -28,14 +28,15 @@ [ ({ config, pkgs, lib, ... }: let mediaWikiOld = pkgs.mediawiki.overrideAttrs ({pname, ...}: rec { - version = "1.27.0"; + version = "1.28.0"; src = with lib; pkgs.fetchurl { url = "https://releases.wikimedia.org/mediawiki/${versions.majorMinor version}/${pname}-${version}.tar.gz"; - sha256 = "sha256-x50AMSpLdJkn5PP5YAs7z5/pFKiYt/5PhRjp9Zro0Sg="; + sha256 = "sha256-0bjNu0Nb9Z2o9RiwUnfMmms1078W4n6LtJ68+n1/hHE="; }; }); in { + imports = [ ./module/mediawiki.nix ]; boot.isContainer = true; # Let 'nixos-version --json' know about the Git revision @@ -46,6 +47,11 @@ networking.useDHCP = false; networking.firewall.allowedTCPPorts = [ 80 5432 ]; + + services.mysql = { + enable = false; + }; + services.postgresql = let cfg = config.services.mediawiki; @@ -66,18 +72,20 @@ local all all trust host all all 127.0.0.1/32 trust host all all 10.233.2.1/32 trust + host all all 169.254.155.231/32 trust host all all ::1/128 trust '';}; + system.stateVersion = "22.05"; - systemd.services.mediawiki-pg-init = - let - cfg = config.services.mediawiki; + + systemd.services.mediawiki-pg-init = let + cfg = config.services.mymediawiki; stateDir = "/var/lib/mediawiki"; pkg = mediaWikiOld; inherit (lib) concatStringsSep literalExample mapAttrsToList optional optionals optionalString types; mediawikiConfig = config.services.phpfpm.pools.mediawiki.phpEnv.MEDIAWIKI_CONFIG; - in { + in { enable = true; wantedBy = [ "multi-user.target" ]; before = [ "phpfpm-mediawiki.service" ]; @@ -95,23 +103,27 @@ Group = config.services.httpd.group; PrivateTmp = true; }; - }; + }; - services.mediawiki = { + services.mymediawiki = { enable = true; package = mediaWikiOld; virtualHost = { hostName = "mediawiki"; adminAddr = "root@example.com"; }; - skins = { - Vector = "${mediaWikiOld}/share/mediawiki/skins/Vector"; - }; + #skins = { + # Vector = "${mediaWikiOld}/share/mediawiki/skins/Vector"; + # Hector = "${mediaWikiOld}/share/mediawiki/skins/Hector"; + #}; extraConfig = '' $wgShowExceptionDetails = true; - $wgDBserver = "localhost"; + $wgDBserver = "/run/postgresql"; $wgDBport = "5432"; + # $wgDBuser = "mediawiki"; + # $wgDBname = "mediawiki"; + $wgDBmwschema = "mediawiki"; ''; extensions = { # Interwiki = pkgs.fetchzip { @@ -122,27 +134,32 @@ # url = "https://extdist.wmflabs.org/dist/extensions/Cite-REL1_36-77e6710.tar.gz"; # sha256 = "sha256-un6AjbqHre00a2IaEaUZnPPk+gMoet9pc+6mRLfh3I0="; # }; -# DynamicPageList = pkgs.fetchzip { -# url = "https://extdist.wmflabs.org/dist/extensions/DynamicPageList-REL1_36-c00fbd6.tar.gz"; -# sha256 = "sha256-QMBQcIN0+6VSjgVaA0bC90auZr8CBHBggoasfWi8Jzk="; -# }; -# Scribunto = pkgs.fetchzip { -# url = "https://extdist.wmflabs.org/dist/extensions/Scribunto-REL1_36-cc217d4.tar.gz"; -# sha256 = "sha256-chFveLW4GdRmJbUE4Q2e2aEJ52zejpqF5B/YiZZ7L1k="; -# }; -# Lockdown = pkgs.fetchzip { -# url = "https://extdist.wmflabs.org/dist/extensions/Lockdown-REL1_36-1a3d68d.tar.gz"; -# sha256 = "sha256-AlJbXsqJfXqj0bU16fwxFSu0lfR+WzJxJiJSKp1keXk="; -# }; + #DynamicPageList = pkgs.fetchzip { + # url = "https://extdist.wmflabs.org/dist/extensions/DynamicPageList-REL1_36-6a4424f.tar.gz"; + # sha256 = "sha256-HIl4EnUgiZQzUvWFF9e7enyAYWM4e16oRSYXMdtblic="; + #}; + #Scribunto = pkgs.fetchzip { + # url = "https://extdist.wmflabs.org/dist/extensions/Scribunto-REL1_36-cc217d4.tar.gz"; + # sha256 = "sha256-chFveLW4GdRmJbUE4Q2e2aEJ52zejpqF5B/YiZZ7L1k="; + #}; + #Lockdown = pkgs.fetchzip { + # url = "https://extdist.wmflabs.org/dist/extensions/Lockdown-REL1_36-1a3d68d.tar.gz"; + # sha256 = "sha256-AlJbXsqJfXqj0bU16fwxFSu0lfR+WzJxJiJSKp1keXk="; + #}; }; passwordFile = pkgs.writeText "password" "topSecretF0rAll!!!!"; + #database = { + # type = "mysql"; + # createLocally = true; + #}; database = { type = "postgres"; - socket = "/run/postgresql"; - host = "127.0.0.1"; - port = 5432; + # socket = "/run/postgresql"; + # host = "localhost"; + # port = 5432; user = "mediawiki"; name = "mediawiki"; + passwordFile = pkgs.writeText "password" ""; }; };