Skip to content

Commit

Permalink
nextcloud30: init at 30.0.0
Browse files Browse the repository at this point in the history
  • Loading branch information
onny authored and Ma27 committed Oct 1, 2024
1 parent 1f148e3 commit 1b121c1
Show file tree
Hide file tree
Showing 7 changed files with 276 additions and 8 deletions.
6 changes: 6 additions & 0 deletions nixos/doc/manual/release-notes/rl-2411.section.md
Original file line number Diff line number Diff line change
Expand Up @@ -551,6 +551,12 @@
Note that first solution of the [official FAQ answer](https://cloud.seatable.io/dtable/external-links/7b976c85f504491cbe8e/?tid=0000&vid=0000&row-id=BQhH-2HSQs68Nq2EW91DBA)
is not allowed by the `services.nginx` module's config-checker.

- The latest available version of Nextcloud is v30 (available as `pkgs.nextcloud30`). The installation logic is as follows:
- If [`services.nextcloud.package`](#opt-services.nextcloud.package) is specified explicitly, this package will be installed (**recommended**)
- If [`system.stateVersion`](#opt-system.stateVersion) is >=24.05, `pkgs.nextcloud28` will be installed by default.
- If [`system.stateVersion`](#opt-system.stateVersion) is >=24.11, `pkgs.nextcloud30` will be installed by default.
- Please note that an upgrade from v28 (or older) to v30 directly is not possible. Please upgrade to `nextcloud29` (or earlier) first. Nextcloud prohibits skipping major versions while upgrading. You can upgrade by declaring [`services.nextcloud.package = pkgs.nextcloud29;`](options.html#opt-services.nextcloud.package).

- To facilitate dependency injection, the `imgui` package now builds a static archive using vcpkg' CMake rules.
The derivation now installs "impl" headers selectively instead of by a wildcard.
Use `imgui.src` if you just want to access the unpacked sources.
Expand Down
2 changes: 1 addition & 1 deletion nixos/modules/services/web-apps/nextcloud.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ self-hostable cloud platform. The server setup can be automated using
[services.nextcloud](#opt-services.nextcloud.enable). A
desktop client is packaged at `pkgs.nextcloud-client`.

The current default by NixOS is `nextcloud29` which is also the latest
The current default by NixOS is `nextcloud30` which is also the latest
major version available.

## Basic usage {#module-services-nextcloud-basic-usage}
Expand Down
8 changes: 4 additions & 4 deletions nixos/modules/services/web-apps/nextcloud.nix
Original file line number Diff line number Diff line change
Expand Up @@ -821,7 +821,7 @@ in {

config = mkIf cfg.enable (mkMerge [
{ warnings = let
latest = 29;
latest = 30;
upgradeWarning = major: nixos:
''
A legacy Nextcloud install (from before NixOS ${nixos}) may be installed.
Expand All @@ -847,11 +847,11 @@ in {
If you have an existing installation with a custom table prefix, make sure it is
set correctly in `config.php` and remove the option from your NixOS config.
'')
++ (optional (versionOlder cfg.package.version "25") (upgradeWarning 24 "22.11"))
++ (optional (versionOlder cfg.package.version "26") (upgradeWarning 25 "23.05"))
++ (optional (versionOlder cfg.package.version "27") (upgradeWarning 26 "23.11"))
++ (optional (versionOlder cfg.package.version "28") (upgradeWarning 27 "24.05"))
++ (optional (versionOlder cfg.package.version "29") (upgradeWarning 28 "24.11"));
++ (optional (versionOlder cfg.package.version "29") (upgradeWarning 28 "24.11"))
++ (optional (versionOlder cfg.package.version "30") (upgradeWarning 29 "24.11"));

services.nextcloud.package = with pkgs;
mkDefault (
Expand All @@ -862,7 +862,7 @@ in {
`pkgs.nextcloud`.
''
else if versionOlder stateVersion "24.05" then nextcloud27
else nextcloud29
else nextcloud30
);

services.nextcloud.phpPackage =
Expand Down
2 changes: 1 addition & 1 deletion nixos/tests/nextcloud/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -109,4 +109,4 @@ let
./with-objectstore.nix
];
in
listToAttrs (concatMap genTests [ 28 29 ])
listToAttrs (concatMap genTests [ 28 29 30 ])
9 changes: 8 additions & 1 deletion pkgs/servers/nextcloud/default.nix
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{ lib, stdenvNoCC, fetchurl, nixosTests
, nextcloud28Packages
, nextcloud29Packages
, nextcloud30Packages
}:

let
Expand All @@ -13,7 +14,7 @@ let
inherit version;

src = fetchurl {
url = "https://download.nextcloud.com/server/releases/${pname}-${version}.tar.bz2";
url = "https://download.nextcloud.com/server/releases/nextcloud-${version}.tar.bz2";
inherit hash;
};

Expand Down Expand Up @@ -55,6 +56,12 @@ in {
packages = nextcloud29Packages;
};

nextcloud30 = generic {
version = "30.0.0";
hash = "sha256-GNeoCVe7U+lPsESS9rUhNDTdo+naEtn3iZl2h8hWTmA=";
packages = nextcloud30Packages;
};

# tip: get the sha with:
# curl 'https://download.nextcloud.com/server/releases/nextcloud-${version}.tar.bz2.sha256'
}
252 changes: 252 additions & 0 deletions pkgs/servers/nextcloud/packages/30.json

Large diffs are not rendered by default.

5 changes: 4 additions & 1 deletion pkgs/top-level/all-packages.nix
Original file line number Diff line number Diff line change
Expand Up @@ -10407,14 +10407,17 @@ with pkgs;
grocy = callPackage ../servers/grocy { };

inherit (callPackages ../servers/nextcloud {})
nextcloud28 nextcloud29;
nextcloud28 nextcloud29 nextcloud30;

nextcloud28Packages = callPackage ../servers/nextcloud/packages {
apps = lib.importJSON ../servers/nextcloud/packages/28.json;
};
nextcloud29Packages = callPackage ../servers/nextcloud/packages {
apps = lib.importJSON ../servers/nextcloud/packages/29.json;
};
nextcloud30Packages = callPackage ../servers/nextcloud/packages {
apps = lib.importJSON ../servers/nextcloud/packages/30.json;
};


nextcloud-client = qt6Packages.callPackage ../applications/networking/nextcloud-client { };
Expand Down

0 comments on commit 1b121c1

Please sign in to comment.