2022-04-03 19:26:31 +02:00
|
|
|
{ pkgs, config, ... }:
|
2021-11-04 19:00:01 +01:00
|
|
|
{
|
2021-12-14 19:39:11 +01:00
|
|
|
networking.firewall.allowedTCPPorts = [ 80 443 ];
|
2021-12-14 19:33:04 +01:00
|
|
|
# TODO: move to hackens.org
|
2022-04-03 19:26:31 +02:00
|
|
|
services.dokuwiki.sites."${config.my.subZone}" = {
|
2021-11-04 19:00:01 +01:00
|
|
|
enable = true;
|
|
|
|
|
|
|
|
extraConfig = ''
|
|
|
|
$conf['title'] = 'hackEns';
|
|
|
|
$conf['start'] = 'accueil';
|
|
|
|
$conf['lang'] = 'fr';
|
2022-03-11 15:23:51 +01:00
|
|
|
$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
|
2021-11-04 19:00:01 +01:00
|
|
|
$conf['sitemap'] = 7;
|
|
|
|
$conf['rss_type'] = 'rss2';
|
2022-03-11 15:23:51 +01:00
|
|
|
$conf['userewrite'] = 1; # Important, sinon on casse tout avec les règles nginx définies par le module nixos
|
2021-11-04 19:00:01 +01:00
|
|
|
$conf['useslash'] = 1;
|
2022-03-11 15:23:51 +01:00
|
|
|
$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
|
2021-11-04 19:00:01 +01:00
|
|
|
'';
|
|
|
|
|
|
|
|
pluginsConfig = ''
|
|
|
|
$plugins['authmysql'] = 0;
|
|
|
|
$plugins['popularity'] = 0;
|
|
|
|
$plugins['authpgsql'] = 0;
|
|
|
|
$plugins['authpdo'] = 0;
|
|
|
|
$plugins['authldap'] = 0;
|
|
|
|
'';
|
|
|
|
|
|
|
|
disableActions = "register";
|
|
|
|
superUser = "@admin";
|
2022-03-11 15:23:51 +01:00
|
|
|
|
|
|
|
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 ];
|
2021-11-04 19:00:01 +01:00
|
|
|
};
|
|
|
|
}
|