|
12 | 12 | contracts = pkgs.callPackage ../contracts {};
|
13 | 13 |
|
14 | 14 | # Make sure to bump both nextcloudPkg and nextcloudApps at the same time.
|
15 |
| - nextcloudPkg = pkgs.nextcloud27; |
16 |
| - nextcloudApps = pkgs.nextcloud27Packages.apps; |
| 15 | + nextcloudPkg = version: builtins.getAttr ("nextcloud" + builtins.toString version) pkgs; |
| 16 | + nextcloudApps = version: (builtins.getAttr ("nextcloud" + builtins.toString version + "Packages") pkgs).apps; |
17 | 17 |
|
18 | 18 | occ = "${config.services.nextcloud.occ}/bin/nextcloud-occ";
|
19 | 19 | in
|
|
70 | 70 | default = null;
|
71 | 71 | };
|
72 | 72 |
|
| 73 | + version = lib.mkOption { |
| 74 | + description = "Nextcloud version to choose from."; |
| 75 | + type = lib.types.enum [ 27 28 ]; |
| 76 | + default = 27; |
| 77 | + }; |
| 78 | + |
73 | 79 | dataDir = lib.mkOption {
|
74 | 80 | description = "Folder where Nextcloud will store all its data.";
|
75 | 81 | type = lib.types.str;
|
|
459 | 465 | # not loading to realize those scripts are inserted by extensions. Doh.
|
460 | 466 | services.nextcloud = {
|
461 | 467 | enable = true;
|
462 |
| - package = nextcloudPkg; |
| 468 | + package = nextcloudPkg cfg.version; |
463 | 469 |
|
464 | 470 | datadir = cfg.dataDir;
|
465 | 471 |
|
|
490 | 496 | # Very important for a bunch of scripts to load correctly. Otherwise you get Content-Security-Policy errors. See https://docs.nextcloud.com/server/13/admin_manual/configuration_server/harden_server.html#enable-http-strict-transport-security
|
491 | 497 | https = !(isNull cfg.ssl);
|
492 | 498 |
|
493 |
| - extraApps = if isNull cfg.extraApps then {} else cfg.extraApps nextcloudApps; |
| 499 | + extraApps = if isNull cfg.extraApps then {} else cfg.extraApps (nextcloudApps cfg.version); |
494 | 500 | extraAppsEnable = true;
|
495 | 501 | appstoreEnable = true;
|
496 | 502 |
|
|
604 | 610 | ];
|
605 | 611 |
|
606 | 612 | services.nextcloud.extraApps = {
|
607 |
| - inherit (nextcloudApps) onlyoffice; |
| 613 | + inherit ((nextcloudApps cfg.version)) onlyoffice; |
608 | 614 | };
|
609 | 615 |
|
610 | 616 | services.onlyoffice = {
|
|
632 | 638 |
|
633 | 639 | (lib.mkIf cfg.apps.previewgenerator.enable {
|
634 | 640 | services.nextcloud.extraApps = {
|
635 |
| - inherit (nextcloudApps) previewgenerator; |
| 641 | + inherit ((nextcloudApps cfg.version)) previewgenerator; |
636 | 642 | };
|
637 | 643 |
|
638 | 644 | # Configured as defined in https://github.com/nextcloud/previewgenerator
|
|
0 commit comments