@@ -6,7 +6,7 @@ let
66 cfg = config.services.nextcloud;
77 fpm = config.services.phpfpm.pools.nextcloud;
88
9− phpPackage = pkgs.php74.buildEnv {
9+ phpPackage = cfg.phpPackage.buildEnv {
1010 extensions = { enabled, all }:
1111 (with all;
1212 enabled
@@ -94,6 +94,14 @@ in {
9494 description = "Which package to use for the Nextcloud instance.";
9595 relatedPackages = [ "nextcloud20" "nextcloud21" "nextcloud22" ];
9696 };
97+ phpPackage = mkOption {
98+ type = types.package;
99+ relatedPackages = [ "php74" "php80" ];
100+ defaultText = "pkgs.php";
101+ description = ''
102+ PHP package to use for Nextcloud.
103+ '';
104+ };
97105
98106 maxUploadSize = mkOption {
99107 default = "512M";
@@ -449,6 +457,10 @@ in {
449457 else if versionOlder stateVersion "21.11" then nextcloud21
450458 else nextcloud22
451459 );
460+
461+ services.nextcloud.phpPackage =
462+ if versionOlder cfg.package.version "21" then pkgs.php74
463+ else pkgs.php80;
452464 }
453465
454466 { systemd.timers.nextcloud-cron = {