forked from fabian/nix
		
	
		
			
				
	
	
		
			71 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			71 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| {
 | |
|   lib,
 | |
|   pkgs,
 | |
|   flakes,
 | |
|   ...
 | |
| }:
 | |
| with lib; {
 | |
|   services = {
 | |
|     nginx = {
 | |
|       virtualHosts."wiki.posixlycorrect.com" = {
 | |
|         enableACME = true;
 | |
|         forceSSL = true;
 | |
|         extraConfig = ''
 | |
|           proxy_headers_hash_max_size 512;
 | |
|           proxy_headers_hash_bucket_size 128;
 | |
|         '';
 | |
|       };
 | |
|     };
 | |
|     mediawiki = {
 | |
|       enable = true;
 | |
|       name = "posixlycorrect wiki";
 | |
|       webserver = "nginx";
 | |
|       nginx.hostName = "wiki.posixlycorrect.com";
 | |
|       database.type = "postgres";
 | |
| 
 | |
|       passwordFile = "/run/keys/mediawiki-password";
 | |
| 
 | |
|       skins = {
 | |
|         citizen = "${flakes.mediawikiSkinCitizen}";
 | |
|       };
 | |
| 
 | |
|       extraConfig = ''
 | |
|         # Disable anonymous editing and account creation
 | |
|         $wgGroupPermissions['*']['edit'] = false;
 | |
|         $wgGroupPermissions['*']['createaccount'] = false;
 | |
| 
 | |
|         $wgDefaultSkin = 'citizen';
 | |
|         $wgDefaultMobileSkin = 'citizen';
 | |
|         $wgCitizenThemeDefault = 'dark';
 | |
|         $wgCitizenShowPageTools = 'login';
 | |
|         $wgLogos = [
 | |
|           'icon' => "https://posixlycorrect.com/favicon.png",
 | |
|           '1x' => "https://posixlycorrect.com/favicon.png",
 | |
|           '2x' => "https://posixlycorrect.com/favicon.png",
 | |
|         ];
 | |
| 
 | |
|         $wgEnableEmail = false; #TODO: arreglar esto
 | |
|         $wgNoReplyAddress = 'mediawiki@posixlycorrect.com';
 | |
|         $wgEmergencyContact = 'mediawiki@posixlycorrect.com';
 | |
|         $wgPasswordSender = 'mediawiki@posixlycorrect.com';
 | |
|       '';
 | |
| 
 | |
|       extensions = {
 | |
|         # some extensions are included and can enabled by passing null
 | |
|         VisualEditor = null;
 | |
|         CategoryTree = null;
 | |
|         CiteThisPage = null;
 | |
|         Scribunto = null;
 | |
|         Cite = null;
 | |
|         CodeEditor = null;
 | |
|         Math = null;
 | |
|         MultimediaViewer = null;
 | |
|         PdfHandler = null;
 | |
|         Poem = null;
 | |
|         SecureLinkFixer = null;
 | |
|         WikiEditor = null;
 | |
|         ParserFunctions = null;
 | |
|       };
 | |
|     };
 | |
|   };
 | |
| }
 |