|
|
|
@ -153,11 +153,11 @@ in { |
|
|
|
|
package = mkOption { |
|
|
|
|
type = types.package; |
|
|
|
|
description = "Which package to use for the Nextcloud instance."; |
|
|
|
|
relatedPackages = [ "nextcloud22" "nextcloud23" ]; |
|
|
|
|
relatedPackages = [ "nextcloud22" "nextcloud23" "nextcloud24" ]; |
|
|
|
|
}; |
|
|
|
|
phpPackage = mkOption { |
|
|
|
|
type = types.package; |
|
|
|
|
relatedPackages = [ "php74" "php80" ]; |
|
|
|
|
relatedPackages = [ "php74" "php80" "php81" ]; |
|
|
|
|
defaultText = "pkgs.php"; |
|
|
|
|
description = '' |
|
|
|
|
PHP package to use for Nextcloud. |
|
|
|
@ -568,7 +568,7 @@ in { |
|
|
|
|
|
|
|
|
|
config = mkIf cfg.enable (mkMerge [ |
|
|
|
|
{ warnings = let |
|
|
|
|
latest = 23; |
|
|
|
|
latest = 24; |
|
|
|
|
upgradeWarning = major: nixos: |
|
|
|
|
'' |
|
|
|
|
A legacy Nextcloud install (from before NixOS ${nixos}) may be installed. |
|
|
|
@ -604,6 +604,7 @@ in { |
|
|
|
|
++ (optional (versionOlder cfg.package.version "21") (upgradeWarning 20 "21.05")) |
|
|
|
|
++ (optional (versionOlder cfg.package.version "22") (upgradeWarning 21 "21.11")) |
|
|
|
|
++ (optional (versionOlder cfg.package.version "23") (upgradeWarning 22 "22.05")) |
|
|
|
|
++ (optional (versionOlder cfg.package.version "24") (upgradeWarning 23 "22.05")) |
|
|
|
|
++ (optional isUnsupportedMariadb '' |
|
|
|
|
You seem to be using MariaDB at an unsupported version (i.e. at least 10.6)! |
|
|
|
|
Please note that this isn't supported officially by Nextcloud. You can either |
|
|
|
@ -626,14 +627,15 @@ in { |
|
|
|
|
'' |
|
|
|
|
else if versionOlder stateVersion "21.11" then nextcloud21 |
|
|
|
|
else if versionOlder stateVersion "22.05" then nextcloud22 |
|
|
|
|
else nextcloud23 |
|
|
|
|
else nextcloud24 |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
services.nextcloud.datadir = mkOptionDefault config.services.nextcloud.home; |
|
|
|
|
|
|
|
|
|
services.nextcloud.phpPackage = |
|
|
|
|
if versionOlder cfg.package.version "21" then pkgs.php74 |
|
|
|
|
else pkgs.php80; |
|
|
|
|
else if versionOlder cfg.package.version "24" then pkgs.php80 |
|
|
|
|
else pkgs.php81; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
{ assertions = [ |
|
|
|
@ -884,7 +886,7 @@ in { |
|
|
|
|
# FIXME(@Ma27) Nextcloud isn't compatible with mariadb 10.6, |
|
|
|
|
# this is a workaround. |
|
|
|
|
# See https://help.nextcloud.com/t/update-to-next-cloud-21-0-2-has-get-an-error/117028/22 |
|
|
|
|
settings = { |
|
|
|
|
settings = mkIf (versionOlder cfg.package.version "24") { |
|
|
|
|
mysqld = { |
|
|
|
|
innodb_read_only_compressed = 0; |
|
|
|
|
}; |
|
|
|
|