nixos/dolibarr: pin php version (to 8.3)

Changed files
+11 -7
nixos
modules
services
web-apps
+11 -7
nixos/modules/services/web-apps/dolibarr.nix
···
systemd.services."phpfpm-dolibarr".after = mkIf cfg.database.createLocally [ "mysql.service" ];
services.phpfpm.pools.dolibarr = {
inherit (cfg) user group;
-
phpPackage = pkgs.php.buildEnv {
+
phpPackage = pkgs.php83.buildEnv {
extensions = { enabled, all }: enabled ++ [ all.calendar ];
# recommended by dolibarr web application
extraConfig = ''
···
description = "dolibarr configuration file management via NixOS";
wantedBy = [ "multi-user.target" ];
-
script = ''
-
# extract the 'main instance unique id' secret that the dolibarr installer generated for us, store it in a file for use by our own NixOS generated configuration file
-
${pkgs.php}/bin/php -r "include '${cfg.stateDir}/conf.php'; file_put_contents('${cfg.stateDir}/dolibarr_main_instance_unique_id', \$dolibarr_main_instance_unique_id);"
+
script =
+
let
+
php = lib.getExe config.services.phpfpm.pools.dolibarr.phpPackage;
+
in
+
''
+
# extract the 'main instance unique id' secret that the dolibarr installer generated for us, store it in a file for use by our own NixOS generated configuration file
+
${php} -r "include '${cfg.stateDir}/conf.php'; file_put_contents('${cfg.stateDir}/dolibarr_main_instance_unique_id', \$dolibarr_main_instance_unique_id);"
-
# replace configuration file generated by installer with the NixOS generated configuration file
-
install -m 440 ${mkConfigFile "conf.php" cfg.settings} '${cfg.stateDir}/conf.php'
-
'';
+
# replace configuration file generated by installer with the NixOS generated configuration file
+
install -m 440 ${mkConfigFile "conf.php" cfg.settings} '${cfg.stateDir}/conf.php'
+
'';
serviceConfig = {
Type = "oneshot";