]> git.immae.eu Git - perso/Immae/Config/Nix.git/commitdiff
Remove overlay that overrides the php version
authorIsmaël Bouya <ismael.bouya@normalesup.org>
Thu, 7 May 2020 09:58:37 +0000 (11:58 +0200)
committerIsmaël Bouya <ismael.bouya@normalesup.org>
Thu, 7 May 2020 09:58:37 +0000 (11:58 +0200)
28 files changed:
modules/private/tasks/default.nix
modules/private/websites/chloe/integration.nix
modules/private/websites/chloe/production.nix
modules/private/websites/connexionswing/integration.nix
modules/private/websites/connexionswing/production.nix
modules/private/websites/default.nix
modules/private/websites/denise/evariste.nix
modules/private/websites/florian/app.nix
modules/private/websites/isabelle/aten_integration.nix
modules/private/websites/isabelle/aten_production.nix
modules/private/websites/isabelle/iridologie.nix
modules/private/websites/jerome/naturaloutil.nix
modules/private/websites/leila/production.nix
modules/private/websites/ludivine/integration.nix
modules/private/websites/ludivine/production.nix
modules/private/websites/papa/maison_bbc.nix
modules/private/websites/piedsjaloux/integration.nix
modules/private/websites/piedsjaloux/production.nix
modules/private/websites/richie/production.nix
modules/private/websites/telio_tortay/production.nix
modules/private/websites/tools/cloud/default.nix
modules/private/websites/tools/dav/default.nix
modules/private/websites/tools/git/default.nix
modules/private/websites/tools/mail/default.nix
modules/private/websites/tools/mail/rainloop.nix
modules/private/websites/tools/mail/roundcubemail.nix
modules/private/websites/tools/tools/default.nix
modules/websites/php-application.nix

index 89b76648c026ab6fb1985392063aed6b971c35e7..5e1ac1eaa6d4df882db78e5283911a3b443f7f5b 100644 (file)
@@ -190,6 +190,7 @@ in {
         phpEnv = {
           PATH = "/etc/profiles/per-user/${user}/bin";
         };
+        phpPackage = pkgs.php72;
       };
     };
 
index 6d16a86fe1828c262fcde5bfe9233d76a06ae5c7..e07c5bb2c3b9276e5f5fc2fa5343c196e29f7a1f 100644 (file)
@@ -56,8 +56,9 @@ in {
         "pm.process_idle_timeout" = "60";
       };
       phpOptions = config.services.phpfpm.phpOptions + ''
-        extension=${pkgs.php}/lib/php/extensions/mysqli.so
+        extension=${pkgs.php72}/lib/php/extensions/mysqli.so
       '';
+      phpPackage = pkgs.php72;
     };
     system.activationScripts.chloe_integration = {
       deps = [ "wrappers" ];
index 067e8e7a32223ae456103f50a69c4f0a165c38a6..5cfc40cfef2cb38a0b30adbe0a5510faf9b62d70 100644 (file)
@@ -60,8 +60,9 @@ in {
         "pm.max_spare_servers" = "3";
       };
       phpOptions = config.services.phpfpm.phpOptions + ''
-        extension=${pkgs.php}/lib/php/extensions/mysqli.so
+        extension=${pkgs.php72}/lib/php/extensions/mysqli.so
       '';
+      phpPackage = pkgs.php72;
     };
     system.activationScripts.chloe_production = {
       deps = [ "wrappers" ];
index b4de4e19040c31b4784b109cce2ecb39a516a5e5..f5b1a1602091b5cf2857218b6624c7807b36b35b 100644 (file)
@@ -2,6 +2,7 @@
 let
   secrets = config.myEnv.websites.connexionswing.integration;
   app = pkgs.callPackage ./app {
+    composerEnv = pkgs.composerEnv.override { php = pkgs.php72; };
     environment = secrets.environment;
     varDir = "/var/lib/connexionswing_integration";
     secretsPath = config.secrets.fullPaths."websites/connexionswing/integration";
@@ -43,6 +44,7 @@ in {
       phpWatchFiles = [
         config.secrets.fullPaths."websites/connexionswing/integration"
       ];
+      phpPackage = pkgs.php72;
     };
 
     secrets.keys = [
index 119a15e047e994b5b491d853a4c730bd04d163d7..45991ac7725783fb9a80441185e7196b5272ce79 100644 (file)
@@ -2,6 +2,7 @@
 let
   secrets = config.myEnv.websites.connexionswing.production;
   app = pkgs.callPackage ./app {
+    composerEnv = pkgs.composerEnv.override { php = pkgs.php72; };
     environment = secrets.environment;
     varDir = "/var/lib/connexionswing_production";
     secretsPath = config.secrets.fullPaths."websites/connexionswing/production";
@@ -43,6 +44,7 @@ in {
       phpWatchFiles = [
         config.secrets.fullPaths."websites/connexionswing/production"
       ];
+      phpPackage = pkgs.php72;
     };
 
     secrets.keys = [
index a3dcbb9c789a88d3afca424931bb95fd5bb348e8..186a15517db5b28599d71b059d015c8d1e919c92 100644 (file)
@@ -101,8 +101,6 @@ in
     networking.firewall.allowedTCPPorts = [ 80 443 ];
 
     nixpkgs.overlays = [ (self: super: rec {
-      #openssl = self.openssl_1_1;
-      php = php72;
       php72 = (super.php72.override {
         config.php.mysqlnd = true;
         config.php.mysqli = false;
@@ -118,7 +116,6 @@ in
         #     ext/mysqli/mysqli.c ext/mysqli/mysqli_prop.c
         #   '';
       });
-      phpPackages = super.php72Packages.override { inherit php; };
     }) ];
 
     secrets.keys = [{
@@ -148,7 +145,6 @@ in
     };
 
     services.phpfpm = {
-      phpPackage = pkgs.php;
       phpOptions = ''
         session.save_path = "/var/lib/php/sessions"
         post_max_size = 20M
index 460302bcb10f7b901636da87acfdcd11e8cb6443..42f9b2e33c8dc8c65f7fa5c6186672330da6fc6c 100644 (file)
@@ -1,4 +1,4 @@
-{ lib, config,  ... }:
+{ lib, config, pkgs, ... }:
 let
   cfg = config.myServices.websites.denise.evariste;
   nsiVarDir = "/var/lib/ftp/denise/nsievariste";
@@ -36,6 +36,7 @@ in {
         "php_admin_value[open_basedir]" = "/var/lib/php/sessions/denise_nsievariste:${nsiVarDir}:/tmp";
         "php_admin_value[session.save_path]" = "/var/lib/php/sessions/denise_nsievariste";
       };
+      phpPackage = pkgs.php72;
     };
     services.websites.env.production.vhostConfs.denise_nsievariste = {
       certName     = "denise_evariste";
@@ -75,6 +76,7 @@ in {
         "php_admin_value[open_basedir]" = "/var/lib/php/sessions/denise_stmgevariste:${stmgVarDir}:/tmp";
         "php_admin_value[session.save_path]" = "/var/lib/php/sessions/denise_stmgevariste";
       };
+      phpPackage = pkgs.php72;
     };
     services.websites.env.production.vhostConfs.denise_stmgevariste = {
       certName     = "denise_evariste";
index 19a88b0d377b0786f1054120c7ffaf72bff39655..14358d87972a9a95093a52e21a117e54e8de7a9d 100644 (file)
@@ -3,6 +3,7 @@ let
   adminer = pkgs.callPackage ../commons/adminer.nix { inherit config; };
   secrets = config.myEnv.websites.tellesflorian.integration;
   app = pkgs.callPackage ./app {
+    composerEnv = pkgs.composerEnv.override { php = pkgs.php72; };
     environment = secrets.environment;
     varDir = "/var/lib/florian_app";
     secretsPath = config.secrets.fullPaths."websites/florian/app";
@@ -42,6 +43,7 @@ in {
       phpWatchFiles = [
         config.secrets.fullPaths."websites/florian/app"
       ];
+      phpPackage = pkgs.php72;
     };
 
     secrets.keys = [
index 61c35cc42fa6fec14bfbd6ae05fc5d4e9187dade..6f8f985af6ae77d71d6b1d12ca0be7a9c4d3b412 100644 (file)
@@ -2,6 +2,7 @@
 let
   secrets = config.myEnv.websites.isabelle.aten_integration;
   app = pkgs.callPackage ./aten_app {
+    composerEnv = pkgs.composerEnv.override { php = pkgs.php72; };
     environment = secrets.environment;
     varDir = "/var/lib/isabelle_aten_integration";
   };
@@ -37,6 +38,7 @@ in {
       phpEnv = {
         SYMFONY_DEBUG_MODE = "\"yes\"";
       };
+      phpPackage = pkgs.php72;
     };
 
     secrets.keys = [{
index e34d65913e86d6b6410f0ec7c71df16b8dcf5782..4fa3622663bff945ecda55b93c0f6e80cab6ae45 100644 (file)
@@ -2,6 +2,7 @@
 let
   secrets = config.myEnv.websites.isabelle.aten_production;
   app = pkgs.callPackage ./aten_app {
+    composerEnv = pkgs.composerEnv.override { php = pkgs.php72; };
     environment = secrets.environment;
     varDir = "/var/lib/isabelle_aten_production";
   };
@@ -37,6 +38,7 @@ in {
         "pm.min_spare_servers" = "1";
         "pm.max_spare_servers" = "3";
       };
+      phpPackage = pkgs.php72;
     };
 
     secrets.keys = [{
index 560e60591b573798ad869ab5355f360b412ce1eb..740a3c675f6d93742376faa24bea1c557cd37b80 100644 (file)
@@ -62,8 +62,9 @@ in {
         "pm.max_spare_servers" = "3";
       };
       phpOptions = config.services.phpfpm.phpOptions + ''
-        extension=${pkgs.php}/lib/php/extensions/mysqli.so
+        extension=${pkgs.php72}/lib/php/extensions/mysqli.so
       '';
+      phpPackage = pkgs.php72;
     };
     system.activationScripts.isabelle_iridologie = {
       deps = [ "wrappers" ];
index 8bbb49e64cc57700cefefc5a246cd8f9c10fcbf8..fd853bcb0b93916f1297d712ce29d2c9a15f7b1a 100644 (file)
@@ -62,8 +62,9 @@ in {
         BDD_CONNECT = secretsPath;
       };
       phpOptions = config.services.phpfpm.phpOptions + ''
-        extension=${pkgs.php}/lib/php/extensions/mysqli.so
+        extension=${pkgs.php72}/lib/php/extensions/mysqli.so
         '';
+      phpPackage = pkgs.php72;
     };
     services.websites.env.production.modules = adminer.apache.modules ++ [ "proxy_fcgi" ];
     services.websites.env.production.vhostConfs.jerome_naturaloutil = {
index b48da6ff57ec773061d96b832ced21af33691013..4fcc2d3668dd936065b88df06d91b6c6e3f8d91d 100644 (file)
@@ -21,6 +21,7 @@ in {
 
         "php_admin_value[open_basedir]" = "${varDir}:/tmp";
       };
+      phpPackage = pkgs.php72;
     };
 
     services.webstats.sites = [
index 4e37c0cb846fe3eee7166b02ae57041d19e6f838..4357b93fd51552ca46e06bbfeb90f8fb7f74c143 100644 (file)
@@ -2,6 +2,7 @@
 let
   secrets = config.myEnv.websites.ludivine.integration;
   app = pkgs.callPackage ./app {
+    composerEnv = pkgs.composerEnv.override { php = pkgs.php72; };
     environment = secrets.environment;
     varDir = "/var/lib/ludivine_integration";
     secretsPath = config.secrets.fullPaths."websites/ludivine/integration";
@@ -46,6 +47,7 @@ in {
       phpWatchFiles = [
         config.secrets.fullPaths."websites/ludivine/integration"
       ];
+      phpPackage = pkgs.php72;
     };
 
     secrets.keys = [
index 47450c54c249f8a90ab2421dc272260a10235c6f..b30f488937fb39c03d57dc2adf093f38665a4ea0 100644 (file)
@@ -2,6 +2,7 @@
 let
   secrets = config.myEnv.websites.ludivine.production;
   app = pkgs.callPackage ./app {
+    composerEnv = pkgs.composerEnv.override { php = pkgs.php72; };
     environment = secrets.environment;
     varDir = "/var/lib/ludivine_production";
     secretsPath = config.secrets.fullPaths."websites/ludivine/production";
@@ -48,6 +49,7 @@ in {
           pkgs.imagemagick pkgs.sass pkgs.ruby
         ];
       };
+      phpPackage = pkgs.php72;
     };
 
     secrets.keys = [
index d94a0271e514bdfd295c61dc26bfeeaba5436f97..ec5673b378ec901166e5ba1812041cd7db497722 100644 (file)
@@ -25,8 +25,9 @@ in {
       };
       phpOptions = config.services.phpfpm.phpOptions + ''
         date.timezone = 'Europe/Paris'
-        extension=${pkgs.php}/lib/php/extensions/mysqli.so
+        extension=${pkgs.php72}/lib/php/extensions/mysqli.so
         '';
+      phpPackage = pkgs.php72;
     };
 
     services.websites.env.production.modules = [ "proxy_fcgi" ];
index d8790cc93a6a4d828723f467af0863c7cf536775..dc98900b036bc6208a9cd400adbd87b630bc60f9 100644 (file)
@@ -2,6 +2,7 @@
 let
   secrets = config.myEnv.websites.piedsjaloux.integration;
   app = pkgs.callPackage ./app {
+    composerEnv = pkgs.composerEnv.override { php = pkgs.php72; };
     environment = secrets.environment;
     varDir = "/var/lib/piedsjaloux_integration";
     secretsPath = config.secrets.fullPaths."websites/piedsjaloux/integration";
@@ -48,6 +49,7 @@ in {
       phpWatchFiles = [
         app.secretsPath
       ];
+      phpPackage = pkgs.php72;
     };
 
     secrets.keys = [
index 4b2c0561191c42dc328e2c6cb66151ef769e39d8..03b9ec5e3d34784bcd7cdc77bb0a2a9934503f78 100644 (file)
@@ -2,6 +2,7 @@
 let
   secrets = config.myEnv.websites.piedsjaloux.production;
   app = pkgs.callPackage ./app {
+    composerEnv = pkgs.composerEnv.override { php = pkgs.php72; };
     environment = secrets.environment;
     varDir = "/var/lib/piedsjaloux_production";
     secretsPath = config.secrets.fullPaths."websites/piedsjaloux/production";
@@ -50,6 +51,7 @@ in {
       phpWatchFiles = [
         app.secretsPath
       ];
+      phpPackage = pkgs.php72;
     };
 
     secrets.keys = [
index d6d19c8966e69b376ce6a6843c6c60494dab7731..94c0ca02f8c3fd45f5740449d9eda22e9eb2c8fd 100644 (file)
@@ -72,8 +72,9 @@ in
       };
       phpOptions = config.services.phpfpm.phpOptions + ''
         date.timezone = 'Europe/Paris'
-        extension=${pkgs.php}/lib/php/extensions/mysqli.so
+        extension=${pkgs.php72}/lib/php/extensions/mysqli.so
         '';
+      phpPackage = pkgs.php72;
     };
     services.websites.env.production.modules = [ "proxy_fcgi" ];
     services.websites.env.production.vhostConfs.richie_production = {
index cdc61fa931836cc1185b49612cb20000d3a6e84c..2338f918d2f73656fdae3a36efef5663e202d49e 100644 (file)
@@ -39,8 +39,9 @@ in {
       };
       phpOptions = config.services.phpfpm.phpOptions + ''
         disable_functions = "mail"
-        extension=${pkgs.php}/lib/php/extensions/mysqli.so
+        extension=${pkgs.php72}/lib/php/extensions/mysqli.so
         '';
+      phpPackage = pkgs.php72;
     };
     services.websites.env.production.modules = adminer.apache.modules ++ [ "proxy_fcgi" ];
     services.websites.env.production.vhostConfs.telio_tortay = {
index b9bb32f230bc793a6cdbf23494509ffd46082531..73a837f575c1c8e1a781aaeb6ca1c561b92c78e8 100644 (file)
@@ -11,9 +11,9 @@ let
       [ nextcloud varDir ]
       ++ builtins.attrValues pkgs.webapps.nextcloud-apps);
     phpConfig = ''
-      extension=${pkgs.phpPackages.redis}/lib/php/extensions/redis.so
-      extension=${pkgs.phpPackages.apcu}/lib/php/extensions/apcu.so
-      zend_extension=${pkgs.php}/lib/php/extensions/opcache.so
+      extension=${pkgs.php72Packages.redis}/lib/php/extensions/redis.so
+      extension=${pkgs.php72Packages.apcu}/lib/php/extensions/apcu.so
+      zend_extension=${pkgs.php72}/lib/php/extensions/opcache.so
       '';
     pool = {
       "listen.owner" = "wwwrun";
@@ -38,6 +38,7 @@ let
       "php_admin_value[open_basedir]" = "/run/wrappers/bin/sendmail:${basedir}:/proc/meminfo:/dev/urandom:/proc/self/fd:/tmp";
       "php_admin_value[session.save_path]" = "${varDir}/phpSessions";
     };
+    phpPackage = pkgs.php72;
   };
 in {
   options.myServices.websites.tools.cloud = {
@@ -141,8 +142,8 @@ in {
         cd ${nextcloud}
         NEXTCLOUD_CONFIG_DIR="${nextcloud}/config" \
           exec \
-          sudo -u wwwrun ${pkgs.php}/bin/php \
-          -c ${pkgs.php}/etc/php.ini \
+          sudo -u wwwrun ${pkgs.php72}/bin/php \
+          -c ${pkgs.php72}/etc/php.ini \
           occ $*
         '';
     in [ occ ];
@@ -172,6 +173,7 @@ in {
       group = "wwwrun";
       settings = phpFpm.pool;
       phpOptions = config.services.phpfpm.phpOptions + phpFpm.phpConfig;
+      phpPackage = pkgs.php72;
     };
 
     services.cron = {
@@ -181,7 +183,7 @@ in {
           #! ${pkgs.stdenv.shell}
           export LOCALE_ARCHIVE=/run/current-system/sw/lib/locale/locale-archive
           export PATH=/run/wrappers/bin:$PATH
-          ${pkgs.php}/bin/php -d memory_limit=512M -f ${nextcloud}/cron.php
+          ${pkgs.php72}/bin/php -d memory_limit=512M -f ${nextcloud}/cron.php
           '';
       in [
         ''
index 14e40699f0857967f3c6004e00ec30e60abc85bd..f53cf5803567e16e1228a112662f49ac82458a95 100644 (file)
@@ -47,6 +47,7 @@ in {
         user = config.services.httpd.Tools.user;
         group = config.services.httpd.Tools.group;
         settings = davical.phpFpm.pool;
+        phpPackage = pkgs.php72;
       };
     };
 
index 55f9ecb2b0f07a9e67297eb62aa830743d141142..8b1afa86bcacbecfe61899f9185773f9702755b4 100644 (file)
@@ -43,6 +43,7 @@ in {
         user = config.services.httpd.Tools.user;
         group = config.services.httpd.Tools.group;
         settings = mantisbt.phpFpm.pool;
+        phpPackage = pkgs.php72;
       };
     };
   };
index dda2d45056b89c08ae0e26481ae5bc6be9065906..217ef1ab415e8de84c7a7e0a54c1836af51df5ef 100644 (file)
@@ -4,7 +4,9 @@ let
     inherit (pkgs.webapps) roundcubemail roundcubemail-plugins roundcubemail-skins;
     env = config.myEnv.tools.roundcubemail;
   };
-  rainloop = pkgs.callPackage ./rainloop.nix {};
+  rainloop = pkgs.callPackage ./rainloop.nix {
+    rainloop = pkgs.rainloop-community;
+  };
   cfg = config.myServices.websites.tools.email;
   pcfg = config.services.phpfpm.pools;
 in
@@ -60,12 +62,17 @@ in
       user = "wwwrun";
       group = "wwwrun";
       settings = roundcubemail.phpFpm.pool;
-      phpOptions = config.services.phpfpm.phpOptions + roundcubemail.phpFpm.phpConfig;
+      phpOptions = config.services.phpfpm.phpOptions + ''
+        date.timezone = 'CET'
+        extension=${pkgs.php72Packages.imagick}/lib/php/extensions/imagick.so
+      '';
+      phpPackage = pkgs.php72;
     };
     services.phpfpm.pools.rainloop = {
       user = "wwwrun";
       group = "wwwrun";
       settings = rainloop.phpFpm.pool;
+      phpPackage = pkgs.php72;
     };
     system.activationScripts = {
       roundcubemail = roundcubemail.activationScript;
index 9b1f0c5133d850c06eec4c5890d708cacb9ab602..21de5eb5bd8a82d2ef3462816e5b080840992783 100644 (file)
@@ -1,4 +1,4 @@
-{ lib, pkgs, writeText, stdenv, fetchurl }:
+{ lib, rainloop, writeText, stdenv, fetchurl }:
 rec {
   varDir = "/var/lib/rainloop";
   activationScript = {
@@ -9,7 +9,7 @@ rec {
       install -m 0750 -o ${apache.user} -g ${apache.group} -d ${varDir}/data
     '';
   };
-  webRoot = pkgs.rainloop-community.override { dataPath = "${varDir}/data"; };
+  webRoot = rainloop.override { dataPath = "${varDir}/data"; };
   apache = rec {
     user = "wwwrun";
     group = "wwwrun";
index 0b35d029a9740dc28e702b76b1ef6b8a41496d19..6875bae54de653104fa901e8775147d5e3326b12 100644 (file)
@@ -1,4 +1,4 @@
-{ env, roundcubemail, roundcubemail-plugins, roundcubemail-skins, phpPackages, apacheHttpd }:
+{ env, roundcubemail, roundcubemail-plugins, roundcubemail-skins, apacheHttpd }:
 rec {
   varDir = "/var/lib/roundcubemail";
   activationScript = {
@@ -103,10 +103,6 @@ rec {
       [ webRoot "/var/secrets/webapps/tools-roundcube" varDir ]
       ++ webRoot.plugins
       ++ webRoot.skins);
-    phpConfig = ''
-      date.timezone = 'CET'
-      extension=${phpPackages.imagick}/lib/php/extensions/imagick.so
-      '';
     pool = {
       "listen.owner" = apache.user;
       "listen.group" = apache.group;
index a5e7f2e6897c6febe41af4804b7ed2d3b7bab8b9..dcda15a6d6f936313a246b309c6c3bfc9321bd10 100644 (file)
@@ -9,12 +9,13 @@ let
   ttrss = pkgs.callPackage ./ttrss.nix {
     inherit (pkgs.webapps) ttrss ttrss-plugins;
     env = config.myEnv.tools.ttrss;
+    php = pkgs.php72;
   };
   kanboard = pkgs.callPackage ./kanboard.nix  {
     env = config.myEnv.tools.kanboard;
   };
   wallabag = pkgs.callPackage ./wallabag.nix {
-    inherit (pkgs.webapps) wallabag;
+    wallabag = pkgs.webapps.wallabag.override { composerEnv = pkgs.composerEnv.override { php = pkgs.php72; }; };
     env = config.myEnv.tools.wallabag;
   };
   yourls = pkgs.callPackage ./yourls.nix {
@@ -36,7 +37,7 @@ let
     env = config.myEnv.tools.phpldapadmin;
   };
   grocy = pkgs.callPackage ./grocy.nix {
-    inherit (pkgs.webapps) grocy;
+    grocy = pkgs.webapps.grocy.override { composerEnv = pkgs.composerEnv.override { php = pkgs.php72; }; };
   };
   phpbb = pkgs.callPackage ./phpbb.nix {
     phpbb = (pkgs.webapps.phpbb.withLangs (l: [ l.fr ])).withExts (e: [
@@ -260,7 +261,7 @@ in {
         description = "Tiny Tiny RSS feeds update daemon";
         serviceConfig = {
           User = "wwwrun";
-          ExecStart = "${pkgs.php}/bin/php ${ttrss.webRoot}/update.php --daemon";
+          ExecStart = "${pkgs.php72}/bin/php ${ttrss.webRoot}/update.php --daemon";
           StandardOutput = "syslog";
           StandardError = "syslog";
           PermissionsStartOnly = true;
@@ -300,6 +301,7 @@ in {
         phpEnv = {
           CONTACT_EMAIL = config.myEnv.tools.contact;
         };
+        phpPackage = pkgs.php72;
       };
       devtools = {
         user = "wwwrun";
@@ -316,37 +318,43 @@ in {
           "php_admin_value[open_basedir]" = "/run/wrappers/bin/sendmail:/var/lib/ftp/devtools.immae.eu:/tmp";
         };
         phpOptions = config.services.phpfpm.phpOptions + ''
-          extension=${pkgs.php}/lib/php/extensions/mysqli.so
-          extension=${pkgs.phpPackages.redis}/lib/php/extensions/redis.so
-          extension=${pkgs.phpPackages.apcu}/lib/php/extensions/apcu.so
-          zend_extension=${pkgs.php}/lib/php/extensions/opcache.so
+          extension=${pkgs.php72}/lib/php/extensions/mysqli.so
+          extension=${pkgs.php72Packages.redis}/lib/php/extensions/redis.so
+          extension=${pkgs.php72Packages.apcu}/lib/php/extensions/apcu.so
+          zend_extension=${pkgs.php72}/lib/php/extensions/opcache.so
           '';
+        phpPackage = pkgs.php72;
       };
       adminer = adminer.phpFpm;
       ttrss = {
         user = "wwwrun";
         group = "wwwrun";
         settings = ttrss.phpFpm.pool;
+        phpPackage = pkgs.php72;
       };
       wallabag = {
         user = "wwwrun";
         group = "wwwrun";
         settings = wallabag.phpFpm.pool;
+        phpPackage = pkgs.php72;
       };
       yourls = {
         user = "wwwrun";
         group = "wwwrun";
         settings = yourls.phpFpm.pool;
+        phpPackage = pkgs.php72;
       };
       rompr = {
         user = "wwwrun";
         group = "wwwrun";
         settings = rompr.phpFpm.pool;
+        phpPackage = pkgs.php72;
       };
       shaarli = {
         user = "wwwrun";
         group = "wwwrun";
         settings = shaarli.phpFpm.pool;
+        phpPackage = pkgs.php72;
       };
       dmarc-reports = {
         user = "wwwrun";
@@ -354,18 +362,21 @@ in {
         settings = dmarc-reports.phpFpm.pool;
         phpEnv = dmarc-reports.phpFpm.phpEnv;
         phpOptions = config.services.phpfpm.phpOptions + ''
-          extension=${pkgs.php}/lib/php/extensions/mysqli.so
+          extension=${pkgs.php72}/lib/php/extensions/mysqli.so
         '';
+        phpPackage = pkgs.php72;
       };
       dokuwiki = {
         user = "wwwrun";
         group = "wwwrun";
         settings = dokuwiki.phpFpm.pool;
+        phpPackage = pkgs.php72;
       };
       phpbb = {
         user = "wwwrun";
         group = "wwwrun";
         settings = phpbb.phpFpm.pool;
+        phpPackage = pkgs.php72;
       };
       ldap = {
         user = "wwwrun";
@@ -377,11 +388,13 @@ in {
         user = "wwwrun";
         group = "wwwrun";
         settings = kanboard.phpFpm.pool;
+        phpPackage = pkgs.php72;
       };
       grocy = {
         user = "wwwrun";
         group = "wwwrun";
         settings = grocy.phpFpm.pool;
+        phpPackage = pkgs.php72;
       };
     };
 
index 20e2a5dde77311103aa2ab71c4ff53a4f54c3d1e..23e2b233581c3b92cc252360e220155f89fdb537 100644 (file)
@@ -1,4 +1,4 @@
-{ lib, config, ... }:
+{ lib, config, pkgs, ... }:
 with lib;
 let
   cfg = config.services.phpApplication;
@@ -53,6 +53,11 @@ in
             default = {};
             description = "Pool environment to append";
           };
+          phpPackage = mkOption {
+            type = attrsOf str;
+            default = pkgs.php;
+            description = "Php package to use";
+          };
           phpOptions = mkOption {
             type = lines;
             default = "";
@@ -177,7 +182,7 @@ in
         // optionalAttrs (icfg.phpSession) { "php_admin_value[session.save_path]" = "${icfg.varDir}/phpSessions"; }
         // icfg.phpPool;
         phpOptions = config.services.phpfpm.phpOptions + icfg.phpOptions;
-        inherit (icfg) phpEnv;
+        inherit (icfg) phpEnv phpPackage;
       }
     ) cfg.apps;