From dcac3ec730176549cd52a9a42db2001dc652c30d Mon Sep 17 00:00:00 2001 From: =?utf8?q?Isma=C3=ABl=20Bouya?= Date: Thu, 7 May 2020 11:58:37 +0200 Subject: [PATCH] Remove overlay that overrides the php version --- modules/private/tasks/default.nix | 1 + .../private/websites/chloe/integration.nix | 3 +- modules/private/websites/chloe/production.nix | 3 +- .../websites/connexionswing/integration.nix | 2 ++ .../websites/connexionswing/production.nix | 2 ++ modules/private/websites/default.nix | 4 --- modules/private/websites/denise/evariste.nix | 4 ++- modules/private/websites/florian/app.nix | 2 ++ .../websites/isabelle/aten_integration.nix | 2 ++ .../websites/isabelle/aten_production.nix | 2 ++ .../private/websites/isabelle/iridologie.nix | 3 +- .../private/websites/jerome/naturaloutil.nix | 3 +- modules/private/websites/leila/production.nix | 1 + .../private/websites/ludivine/integration.nix | 2 ++ .../private/websites/ludivine/production.nix | 2 ++ modules/private/websites/papa/maison_bbc.nix | 3 +- .../websites/piedsjaloux/integration.nix | 2 ++ .../websites/piedsjaloux/production.nix | 2 ++ .../private/websites/richie/production.nix | 3 +- .../websites/telio_tortay/production.nix | 3 +- .../private/websites/tools/cloud/default.nix | 14 +++++---- .../private/websites/tools/dav/default.nix | 1 + .../private/websites/tools/git/default.nix | 1 + .../private/websites/tools/mail/default.nix | 11 +++++-- .../private/websites/tools/mail/rainloop.nix | 4 +-- .../websites/tools/mail/roundcubemail.nix | 6 +--- .../private/websites/tools/tools/default.nix | 29 ++++++++++++++----- modules/websites/php-application.nix | 9 ++++-- 28 files changed, 87 insertions(+), 37 deletions(-) diff --git a/modules/private/tasks/default.nix b/modules/private/tasks/default.nix index 89b7664..5e1ac1e 100644 --- a/modules/private/tasks/default.nix +++ b/modules/private/tasks/default.nix @@ -190,6 +190,7 @@ in { phpEnv = { PATH = "/etc/profiles/per-user/${user}/bin"; }; + phpPackage = pkgs.php72; }; }; diff --git a/modules/private/websites/chloe/integration.nix b/modules/private/websites/chloe/integration.nix index 6d16a86..e07c5bb 100644 --- a/modules/private/websites/chloe/integration.nix +++ b/modules/private/websites/chloe/integration.nix @@ -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" ]; diff --git a/modules/private/websites/chloe/production.nix b/modules/private/websites/chloe/production.nix index 067e8e7..5cfc40c 100644 --- a/modules/private/websites/chloe/production.nix +++ b/modules/private/websites/chloe/production.nix @@ -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" ]; diff --git a/modules/private/websites/connexionswing/integration.nix b/modules/private/websites/connexionswing/integration.nix index b4de4e1..f5b1a16 100644 --- a/modules/private/websites/connexionswing/integration.nix +++ b/modules/private/websites/connexionswing/integration.nix @@ -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 = [ diff --git a/modules/private/websites/connexionswing/production.nix b/modules/private/websites/connexionswing/production.nix index 119a15e..45991ac 100644 --- a/modules/private/websites/connexionswing/production.nix +++ b/modules/private/websites/connexionswing/production.nix @@ -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 = [ diff --git a/modules/private/websites/default.nix b/modules/private/websites/default.nix index a3dcbb9..186a155 100644 --- a/modules/private/websites/default.nix +++ b/modules/private/websites/default.nix @@ -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 diff --git a/modules/private/websites/denise/evariste.nix b/modules/private/websites/denise/evariste.nix index 460302b..42f9b2e 100644 --- a/modules/private/websites/denise/evariste.nix +++ b/modules/private/websites/denise/evariste.nix @@ -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"; diff --git a/modules/private/websites/florian/app.nix b/modules/private/websites/florian/app.nix index 19a88b0..14358d8 100644 --- a/modules/private/websites/florian/app.nix +++ b/modules/private/websites/florian/app.nix @@ -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 = [ diff --git a/modules/private/websites/isabelle/aten_integration.nix b/modules/private/websites/isabelle/aten_integration.nix index 61c35cc..6f8f985 100644 --- a/modules/private/websites/isabelle/aten_integration.nix +++ b/modules/private/websites/isabelle/aten_integration.nix @@ -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 = [{ diff --git a/modules/private/websites/isabelle/aten_production.nix b/modules/private/websites/isabelle/aten_production.nix index e34d659..4fa3622 100644 --- a/modules/private/websites/isabelle/aten_production.nix +++ b/modules/private/websites/isabelle/aten_production.nix @@ -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 = [{ diff --git a/modules/private/websites/isabelle/iridologie.nix b/modules/private/websites/isabelle/iridologie.nix index 560e605..740a3c6 100644 --- a/modules/private/websites/isabelle/iridologie.nix +++ b/modules/private/websites/isabelle/iridologie.nix @@ -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" ]; diff --git a/modules/private/websites/jerome/naturaloutil.nix b/modules/private/websites/jerome/naturaloutil.nix index 8bbb49e..fd853bc 100644 --- a/modules/private/websites/jerome/naturaloutil.nix +++ b/modules/private/websites/jerome/naturaloutil.nix @@ -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 = { diff --git a/modules/private/websites/leila/production.nix b/modules/private/websites/leila/production.nix index b48da6f..4fcc2d3 100644 --- a/modules/private/websites/leila/production.nix +++ b/modules/private/websites/leila/production.nix @@ -21,6 +21,7 @@ in { "php_admin_value[open_basedir]" = "${varDir}:/tmp"; }; + phpPackage = pkgs.php72; }; services.webstats.sites = [ diff --git a/modules/private/websites/ludivine/integration.nix b/modules/private/websites/ludivine/integration.nix index 4e37c0c..4357b93 100644 --- a/modules/private/websites/ludivine/integration.nix +++ b/modules/private/websites/ludivine/integration.nix @@ -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 = [ diff --git a/modules/private/websites/ludivine/production.nix b/modules/private/websites/ludivine/production.nix index 47450c5..b30f488 100644 --- a/modules/private/websites/ludivine/production.nix +++ b/modules/private/websites/ludivine/production.nix @@ -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 = [ diff --git a/modules/private/websites/papa/maison_bbc.nix b/modules/private/websites/papa/maison_bbc.nix index d94a027..ec5673b 100644 --- a/modules/private/websites/papa/maison_bbc.nix +++ b/modules/private/websites/papa/maison_bbc.nix @@ -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" ]; diff --git a/modules/private/websites/piedsjaloux/integration.nix b/modules/private/websites/piedsjaloux/integration.nix index d8790cc..dc98900 100644 --- a/modules/private/websites/piedsjaloux/integration.nix +++ b/modules/private/websites/piedsjaloux/integration.nix @@ -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 = [ diff --git a/modules/private/websites/piedsjaloux/production.nix b/modules/private/websites/piedsjaloux/production.nix index 4b2c056..03b9ec5 100644 --- a/modules/private/websites/piedsjaloux/production.nix +++ b/modules/private/websites/piedsjaloux/production.nix @@ -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 = [ diff --git a/modules/private/websites/richie/production.nix b/modules/private/websites/richie/production.nix index d6d19c8..94c0ca0 100644 --- a/modules/private/websites/richie/production.nix +++ b/modules/private/websites/richie/production.nix @@ -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 = { diff --git a/modules/private/websites/telio_tortay/production.nix b/modules/private/websites/telio_tortay/production.nix index cdc61fa..2338f91 100644 --- a/modules/private/websites/telio_tortay/production.nix +++ b/modules/private/websites/telio_tortay/production.nix @@ -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 = { diff --git a/modules/private/websites/tools/cloud/default.nix b/modules/private/websites/tools/cloud/default.nix index b9bb32f..73a837f 100644 --- a/modules/private/websites/tools/cloud/default.nix +++ b/modules/private/websites/tools/cloud/default.nix @@ -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 [ '' diff --git a/modules/private/websites/tools/dav/default.nix b/modules/private/websites/tools/dav/default.nix index 14e4069..f53cf58 100644 --- a/modules/private/websites/tools/dav/default.nix +++ b/modules/private/websites/tools/dav/default.nix @@ -47,6 +47,7 @@ in { user = config.services.httpd.Tools.user; group = config.services.httpd.Tools.group; settings = davical.phpFpm.pool; + phpPackage = pkgs.php72; }; }; diff --git a/modules/private/websites/tools/git/default.nix b/modules/private/websites/tools/git/default.nix index 55f9ecb..8b1afa8 100644 --- a/modules/private/websites/tools/git/default.nix +++ b/modules/private/websites/tools/git/default.nix @@ -43,6 +43,7 @@ in { user = config.services.httpd.Tools.user; group = config.services.httpd.Tools.group; settings = mantisbt.phpFpm.pool; + phpPackage = pkgs.php72; }; }; }; diff --git a/modules/private/websites/tools/mail/default.nix b/modules/private/websites/tools/mail/default.nix index dda2d45..217ef1a 100644 --- a/modules/private/websites/tools/mail/default.nix +++ b/modules/private/websites/tools/mail/default.nix @@ -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; diff --git a/modules/private/websites/tools/mail/rainloop.nix b/modules/private/websites/tools/mail/rainloop.nix index 9b1f0c5..21de5eb 100644 --- a/modules/private/websites/tools/mail/rainloop.nix +++ b/modules/private/websites/tools/mail/rainloop.nix @@ -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"; diff --git a/modules/private/websites/tools/mail/roundcubemail.nix b/modules/private/websites/tools/mail/roundcubemail.nix index 0b35d02..6875bae 100644 --- a/modules/private/websites/tools/mail/roundcubemail.nix +++ b/modules/private/websites/tools/mail/roundcubemail.nix @@ -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; diff --git a/modules/private/websites/tools/tools/default.nix b/modules/private/websites/tools/tools/default.nix index a5e7f2e..dcda15a 100644 --- a/modules/private/websites/tools/tools/default.nix +++ b/modules/private/websites/tools/tools/default.nix @@ -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; }; }; diff --git a/modules/websites/php-application.nix b/modules/websites/php-application.nix index 20e2a5d..23e2b23 100644 --- a/modules/websites/php-application.nix +++ b/modules/websites/php-application.nix @@ -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; -- 2.41.0