summary refs log tree commit diff
path: root/nixos/modules/services/web-apps/moodle.nix
diff options
context:
space:
mode:
authorFinn Behrens <me@kloenk.de>2020-07-14 12:56:41 +0200
committerFinn Behrens <me@kloenk.de>2020-07-16 23:48:08 +0200
commit832d2289c3fe31669b805ccab0fde08fa84a7620 (patch)
tree00d81a68ff2012714fc00e1a05c90bdd6655209a /nixos/modules/services/web-apps/moodle.nix
parent7561a3dc4aad5f5811f585f75bb565153cf2f2d9 (diff)
downloadnixpkgs-832d2289c3fe31669b805ccab0fde08fa84a7620.tar
nixpkgs-832d2289c3fe31669b805ccab0fde08fa84a7620.tar.gz
nixpkgs-832d2289c3fe31669b805ccab0fde08fa84a7620.tar.bz2
nixpkgs-832d2289c3fe31669b805ccab0fde08fa84a7620.tar.lz
nixpkgs-832d2289c3fe31669b805ccab0fde08fa84a7620.tar.xz
nixpkgs-832d2289c3fe31669b805ccab0fde08fa84a7620.tar.zst
nixpkgs-832d2289c3fe31669b805ccab0fde08fa84a7620.zip
moodle: update to 3.9.1
use phpEnv to provide xmlrpc
Diffstat (limited to 'nixos/modules/services/web-apps/moodle.nix')
-rw-r--r--nixos/modules/services/web-apps/moodle.nix14
1 files changed, 9 insertions, 5 deletions
diff --git a/nixos/modules/services/web-apps/moodle.nix b/nixos/modules/services/web-apps/moodle.nix
index 1196780cf6e..f45eaa24d54 100644
--- a/nixos/modules/services/web-apps/moodle.nix
+++ b/nixos/modules/services/web-apps/moodle.nix
@@ -40,7 +40,7 @@ let
   $CFG->disableupdateautodeploy = true;
 
   $CFG->pathtogs = '${pkgs.ghostscript}/bin/gs';
-  $CFG->pathtophp = '${pkgs.php}/bin/php';
+  $CFG->pathtophp = '${phpExt}/bin/php';
   $CFG->pathtodu = '${pkgs.coreutils}/bin/du';
   $CFG->aspellpath = '${pkgs.aspell}/bin/aspell';
   $CFG->pathtodot = '${pkgs.graphviz}/bin/dot';
@@ -55,6 +55,9 @@ let
 
   mysqlLocal = cfg.database.createLocally && cfg.database.type == "mysql";
   pgsqlLocal = cfg.database.createLocally && cfg.database.type == "pgsql";
+
+  phpExt = pkgs.php.withExtensions
+        ({ enabled, all }: with all; [ iconv mbstring curl openssl tokenizer xmlrpc soap ctype zip gd simplexml dom  intl json sqlite3 pgsql pdo_sqlite pdo_pgsql pdo_odbc pdo_mysql pdo mysqli session zlib xmlreader fileinfo ]);
 in
 {
   # interface
@@ -222,6 +225,7 @@ in
 
     services.phpfpm.pools.moodle = {
       inherit user group;
+      phpPackage = phpExt;
       phpEnv.MOODLE_CONFIG = "${moodleConfig}";
       phpOptions = ''
         zend_extension = opcache.so
@@ -263,13 +267,13 @@ in
       after = optional mysqlLocal "mysql.service" ++ optional pgsqlLocal "postgresql.service";
       environment.MOODLE_CONFIG = moodleConfig;
       script = ''
-        ${pkgs.php}/bin/php ${cfg.package}/share/moodle/admin/cli/check_database_schema.php && rc=$? || rc=$?
+        ${phpExt}/bin/php ${cfg.package}/share/moodle/admin/cli/check_database_schema.php && rc=$? || rc=$?
 
-        [ "$rc" == 1 ] && ${pkgs.php}/bin/php ${cfg.package}/share/moodle/admin/cli/upgrade.php \
+        [ "$rc" == 1 ] && ${phpExt}/bin/php ${cfg.package}/share/moodle/admin/cli/upgrade.php \
           --non-interactive \
           --allow-unstable
 
-        [ "$rc" == 2 ] && ${pkgs.php}/bin/php ${cfg.package}/share/moodle/admin/cli/install_database.php \
+        [ "$rc" == 2 ] && ${phpExt}/bin/php ${cfg.package}/share/moodle/admin/cli/install_database.php \
           --agree-license \
           --adminpass=${cfg.initialPassword}
 
@@ -289,7 +293,7 @@ in
       serviceConfig = {
         User = user;
         Group = group;
-        ExecStart = "${pkgs.php}/bin/php ${cfg.package}/share/moodle/admin/cli/cron.php";
+        ExecStart = "${phpExt}/bin/php ${cfg.package}/share/moodle/admin/cli/cron.php";
       };
     };