1 { lib, pkgs, config, myconfig, mylibs, ... }:
3 cfg = config.services.myWebsites.Emilia;
4 env = myconfig.env.websites.emilia;
5 varDir = "/var/lib/moodle";
7 # php_admin_value[upload_max_filesize] = 50000000
8 # php_admin_value[post_max_size] = 50000000
10 <?php // Moodle configuration file
14 $CFG = new stdClass();
16 $CFG->dbtype = 'pgsql';
17 $CFG->dblibrary = 'native';
18 $CFG->dbhost = '${env.postgresql.host}';
19 $CFG->dbname = '${env.postgresql.database}';
20 $CFG->dbuser = '${env.postgresql.user}';
21 $CFG->dbpass = '${env.postgresql.password}';
22 $CFG->prefix = 'mdl_';
23 $CFG->dboptions = array (
25 'dbport' => '${env.postgreesql.port}',
26 'dbsocket' => '${env.postgresql.password}',
29 $CFG->wwwroot = 'https://www.saison-photo.org';
30 $CFG->dataroot = '${varDir}';
31 $CFG->admin = 'admin';
33 $CFG->directorypermissions = 02777;
35 require_once(__DIR__ . '/lib/setup.php');
37 // There is no php closing tag in this file,
38 // it is intentional because it prevents trailing whitespace problems!
41 options.services.myWebsites.Emilia = {
43 enable = lib.mkEnableOption "enable Emilia's website";
47 config = lib.mkIf cfg.production.enable {
48 security.acme.certs."emilia" = config.services.myCertificates.certConfig // {
49 domain = "saison-photo.org";
51 "www.saison-photo.org" = null;
55 system.activationScripts.emilia = ''
56 install -m 0755 -o wwwrun -g wwwrun -d ${varDir}
58 services.myWebsites.production.vhostConfs.emilia = {
60 hosts = [ "saison-photo.org" "www.saison-photo.org" ];
64 <Directory ${siteDir}>
65 DirectoryIndex pause.html
66 Options Indexes FollowSymLinks MultiViews Includes