From 227181f825e7de83686a5133e54f2decedab272c Mon Sep 17 00:00:00 2001 From: sinavir Date: Fri, 11 Mar 2022 15:23:51 +0100 Subject: [PATCH] sinavir/pour_un_wiki_qui_marche (#2) - template - proper access control Co-authored-by: Maurice Debray Reviewed-on: https://git.rz.ens.wtf/HackENS/hackens-org-configurations/pulls/2 Co-authored-by: sinavir Co-committed-by: sinavir --- hosts/hackens-org/wiki.nix | 42 +++++++++++++++++++++++++++++++------- 1 file changed, 35 insertions(+), 7 deletions(-) diff --git a/hosts/hackens-org/wiki.nix b/hosts/hackens-org/wiki.nix index 48348a5..d2c3051 100644 --- a/hosts/hackens-org/wiki.nix +++ b/hosts/hackens-org/wiki.nix @@ -9,20 +9,26 @@ $conf['title'] = 'hackEns'; $conf['start'] = 'accueil'; $conf['lang'] = 'fr'; - $conf['template'] = 'starter-bootstrap'; - $conf['license'] = '0'; - $conf['breadcrumbs'] = 0; - $conf['htmlok'] = 1; + $conf['template'] = 'bootstrap3'; + $conf['license'] = 'cc-by-sa'; + $conf['breadcrumbs'] = 0; # On s'en fiche de l'historique des pages visitées + $conf['youarehere'] = true; # Par contre on veut notre position dans la hiérarchie du site + # On veut que les liens externes s'ouvrent dans de nouveaux onglets + $conf['target'] = array( + 'extern' => '_tab' + ); + $conf['htmlok'] = 1; # On peut mettre du html dans les pages $conf['sitemap'] = 7; $conf['rss_type'] = 'rss2'; - $conf['userewrite'] = '1'; + $conf['userewrite'] = 1; # Important, sinon on casse tout avec les règles nginx définies par le module nixos $conf['useslash'] = 1; - $conf['plugin']['tokenbucketauth']['tba_send_mail'] = 'hackens@clipper.ens.fr'; + $conf['plugin']['tokenbucketauth']['tba_send_mail'] = 'hackens@clipper.ens.fr'; # Ban auto des IPs qui brute-forcent + $conf['htmlmail'] = 0; # On envoie les mails en plain text + $conf['useacl'] = 1; # On ne veut pas que n'importe qui écrive ''; pluginsConfig = '' $plugins['authmysql'] = 0; - $plugins['syntaxhighlighter3'] = 0; $plugins['popularity'] = 0; $plugins['authpgsql'] = 0; $plugins['authpdo'] = 0; @@ -31,5 +37,27 @@ disableActions = "register"; superUser = "@admin"; + + acl = '' + * @ALL 1 + * @users 8 + ''; + + # Il faut packager les templates + templates = let + template-bootstrap3 = pkgs.stdenv.mkDerivation { + name = "bootstrap3"; + # Download the theme from the dokuwiki site + src = pkgs.fetchurl { + url = "https://github.com/giterlizzi/dokuwiki-template-bootstrap3/archive/v2019-05-22.zip"; + sha256 = "4de5ff31d54dd61bbccaf092c9e74c1af3a4c53e07aa59f60457a8f00cfb23a6"; + }; + # We need unzip to build this package + buildInputs = [ pkgs.unzip ]; + # Installing simply means copying all files to the output directory + installPhase = "mkdir -p $out; cp -R * $out/"; + }; + # And then pass this theme to the template list like this: + in [ template-bootstrap3 ]; }; }