From d3110c95325138076714de5f5d68cca388a002c4 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Tue, 25 Mar 2025 12:37:09 +0000 Subject: [PATCH 1/5] nextcloud: update maintainer information * Create a dedicated team. Before, information was inconsistent between e.g. tests and package, module had none at all. * Add maintainership from us to all trivially packaged apps. This is only to make sure that we take care of them building and installing and that's about it. --- maintainers/team-list.nix | 12 ++++++++++++ nixos/modules/services/web-apps/nextcloud.nix | 1 + nixos/tests/nextcloud/basic.nix | 8 ++------ .../nextcloud/with-declarative-redis-and-secrets.nix | 7 +------ nixos/tests/nextcloud/with-mysql-and-memcached.nix | 5 ++--- nixos/tests/nextcloud/with-objectstore.nix | 7 +------ nixos/tests/nextcloud/with-postgresql-and-redis.nix | 7 +------ pkgs/build-support/fetchnextcloudapp/default.nix | 3 ++- pkgs/servers/nextcloud/default.nix | 8 +------- pkgs/servers/nextcloud/packages/default.nix | 1 + 10 files changed, 24 insertions(+), 35 deletions(-) diff --git a/maintainers/team-list.nix b/maintainers/team-list.nix index 199e2ff4f751..b3d41f9b34aa 100644 --- a/maintainers/team-list.nix +++ b/maintainers/team-list.nix @@ -858,6 +858,18 @@ with lib.maintainers; shortName = "Vim/Neovim"; }; + nextcloud = { + members = [ + bachp + britter + dotlambda + ma27 + ]; + scope = "Maintain Nextcloud, its tests and the integration of applications."; + shortName = "Nextcloud"; + enableFeatureFreezePing = true; + }; + ngi = { members = [ eljamm diff --git a/nixos/modules/services/web-apps/nextcloud.nix b/nixos/modules/services/web-apps/nextcloud.nix index ed436dad32e0..be8e741d2122 100644 --- a/nixos/modules/services/web-apps/nextcloud.nix +++ b/nixos/modules/services/web-apps/nextcloud.nix @@ -1356,4 +1356,5 @@ in { ]); meta.doc = ./nextcloud.md; + meta.maintainers = teams.nextcloud; } diff --git a/nixos/tests/nextcloud/basic.nix b/nixos/tests/nextcloud/basic.nix index 9faf20a2f5ad..bd1c53ab3997 100644 --- a/nixos/tests/nextcloud/basic.nix +++ b/nixos/tests/nextcloud/basic.nix @@ -11,12 +11,8 @@ runTest ( { config, lib, ... }: { inherit name; - meta = with lib.maintainers; { - maintainers = [ - globin - eqyiel - ma27 - ]; + meta = { + maintainers = lib.teams.nextcloud.members; }; imports = [ testBase ]; diff --git a/nixos/tests/nextcloud/with-declarative-redis-and-secrets.nix b/nixos/tests/nextcloud/with-declarative-redis-and-secrets.nix index 40d231c21cac..094732a10fa6 100644 --- a/nixos/tests/nextcloud/with-declarative-redis-and-secrets.nix +++ b/nixos/tests/nextcloud/with-declarative-redis-and-secrets.nix @@ -14,12 +14,7 @@ runTest ( in { inherit name; - meta = with lib.maintainers; { - maintainers = [ - eqyiel - ma27 - ]; - }; + meta.maintainers = lib.teams.nextcloud.members; imports = [ testBase ]; diff --git a/nixos/tests/nextcloud/with-mysql-and-memcached.nix b/nixos/tests/nextcloud/with-mysql-and-memcached.nix index 55b1e5e5695f..5b2cd4976064 100644 --- a/nixos/tests/nextcloud/with-mysql-and-memcached.nix +++ b/nixos/tests/nextcloud/with-mysql-and-memcached.nix @@ -11,9 +11,8 @@ runTest ( { config, lib, ... }: { inherit name; - meta = with lib.maintainers; { - maintainers = [ eqyiel ]; - }; + + meta.maintainers = lib.teams.nextcloud.members; imports = [ testBase ]; diff --git a/nixos/tests/nextcloud/with-objectstore.nix b/nixos/tests/nextcloud/with-objectstore.nix index 5a2a4a6fd0f1..802c070b879d 100644 --- a/nixos/tests/nextcloud/with-objectstore.nix +++ b/nixos/tests/nextcloud/with-objectstore.nix @@ -20,12 +20,7 @@ runTest ( in { inherit name; - meta = with lib.maintainers; { - maintainers = [ - onny - ma27 - ]; - }; + meta.maintainers = lib.teams.nextcloud.members; imports = [ testBase ]; diff --git a/nixos/tests/nextcloud/with-postgresql-and-redis.nix b/nixos/tests/nextcloud/with-postgresql-and-redis.nix index 520aedf5688f..3a6b73bfe4e9 100644 --- a/nixos/tests/nextcloud/with-postgresql-and-redis.nix +++ b/nixos/tests/nextcloud/with-postgresql-and-redis.nix @@ -11,12 +11,7 @@ runTest ( { config, lib, ... }: { inherit name; - meta = with lib.maintainers; { - maintainers = [ - eqyiel - ma27 - ]; - }; + meta.maintainers = lib.teams.nextcloud.members; imports = [ testBase ]; diff --git a/pkgs/build-support/fetchnextcloudapp/default.nix b/pkgs/build-support/fetchnextcloudapp/default.nix index d2c6e842a165..ccc079b70204 100644 --- a/pkgs/build-support/fetchnextcloudapp/default.nix +++ b/pkgs/build-support/fetchnextcloudapp/default.nix @@ -15,6 +15,7 @@ patches ? [ ], description ? null, homepage ? null, + maintainers ? [ ], unpack ? false, # whether to use fetchzip rather than fetchurl }: applyPatches ( @@ -26,7 +27,7 @@ applyPatches ( { license = lib.licenses.${license}; longDescription = description; - inherit homepage; + inherit homepage maintainers; } // lib.optionalAttrs (description != null) { longDescription = description; diff --git a/pkgs/servers/nextcloud/default.nix b/pkgs/servers/nextcloud/default.nix index 72bdd6ba0800..5172a9159fe0 100644 --- a/pkgs/servers/nextcloud/default.nix +++ b/pkgs/servers/nextcloud/default.nix @@ -44,13 +44,7 @@ let changelog = "https://nextcloud.com/changelog/#${lib.replaceStrings [ "." ] [ "-" ] version}"; description = "Sharing solution for files, calendars, contacts and more"; homepage = "https://nextcloud.com"; - maintainers = with lib.maintainers; [ - schneefux - bachp - globin - ma27 - britter - ]; + maintainers = lib.teams.nextcloud.members; license = lib.licenses.agpl3Plus; platforms = lib.platforms.linux; knownVulnerabilities = diff --git a/pkgs/servers/nextcloud/packages/default.nix b/pkgs/servers/nextcloud/packages/default.nix index 7e0c19c5a60a..3963cf90cce2 100644 --- a/pkgs/servers/nextcloud/packages/default.nix +++ b/pkgs/servers/nextcloud/packages/default.nix @@ -32,6 +32,7 @@ let appName = pname; appVersion = data.version; license = appBaseDefs.${pname}; + maintainers = lib.teams.nextcloud.members; inherit (data) url hash From 773094b49c1abd8a6927e6c6a7b5167ec1cc3cd6 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Tue, 25 Mar 2025 12:41:30 +0000 Subject: [PATCH 2/5] nixos/nextcloud: clarify support status of apps in the manual Realized that this is something, I discussed with Benedikt, but wasn't written down somewhere. --- nixos/modules/services/web-apps/nextcloud.md | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/nixos/modules/services/web-apps/nextcloud.md b/nixos/modules/services/web-apps/nextcloud.md index 316659141e47..700cee34f4f8 100644 --- a/nixos/modules/services/web-apps/nextcloud.md +++ b/nixos/modules/services/web-apps/nextcloud.md @@ -241,7 +241,20 @@ This can be configured with the [](#opt-services.nextcloud.phpExtraExtensions) s Alternatively, extra apps can also be declared with the [](#opt-services.nextcloud.extraApps) setting. When using this setting, apps can no longer be managed statefully because this can lead to Nextcloud updating apps -that are managed by Nix. If you want automatic updates it is recommended that you use web interface to install apps. +that are managed by Nix: + +```nix +{ config, pkgs, ... }: { + services.nextcloud.extraApps = with config.services.nextcloud.package.packages.apps; [ + inherit user_oidc calendar contacts; + ]; +} +``` + +Keep in mind that this is essentially a mirror of the apps from the appstore, but managed in +nixpkgs. This is by no means a curated list of apps that receive special testing on each update. + +If you want automatic updates it is recommended that you use web interface to install apps. ## Known warnings {#module-services-nextcloud-known-warnings} From 21954cf09b63698212cbd73dd05c5e90e1e3395b Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Fri, 28 Mar 2025 17:32:41 +0100 Subject: [PATCH 3/5] nextcloud-news-updater: remove, unmaintained --- .../manual/release-notes/rl-2505.section.md | 2 ++ pkgs/servers/nextcloud/news-updater.nix | 28 ------------------- pkgs/top-level/aliases.nix | 1 + pkgs/top-level/all-packages.nix | 2 -- 4 files changed, 3 insertions(+), 30 deletions(-) delete mode 100644 pkgs/servers/nextcloud/news-updater.nix diff --git a/nixos/doc/manual/release-notes/rl-2505.section.md b/nixos/doc/manual/release-notes/rl-2505.section.md index 3c28e71bb8b1..df6841c1b0a9 100644 --- a/nixos/doc/manual/release-notes/rl-2505.section.md +++ b/nixos/doc/manual/release-notes/rl-2505.section.md @@ -598,6 +598,8 @@ - hddfancontrol has been updated to major release 2. See the [migration guide](https://github.com/desbma/hddfancontrol/tree/master?tab=readme-ov-file#migrating-from-v1x), as there are breaking changes. +- `nextcloud-news-updater` is unmaintained and was removed from nixpkgs. + - `services.cloudflared` now uses a dynamic user, and its `user` and `group` options have been removed. If the user or group is still necessary, they can be created manually. - The Home Assistant module has new options {option}`services.home-assistant.blueprints.automation`, `services.home-assistant.blueprints.script`, and {option}`services.home-assistant.blueprints.template` that allow for the declarative installation of [blueprints](https://www.home-assistant.io/docs/blueprint/) into the appropriate configuration directories. diff --git a/pkgs/servers/nextcloud/news-updater.nix b/pkgs/servers/nextcloud/news-updater.nix deleted file mode 100644 index f26ba5fdaff4..000000000000 --- a/pkgs/servers/nextcloud/news-updater.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ - lib, - fetchurl, - python3Packages, - php, -}: - -python3Packages.buildPythonApplication rec { - pname = "nextcloud-news-updater"; - version = "11.0.0"; - - src = fetchurl { - url = "mirror://pypi/n/nextcloud_news_updater/nextcloud_news_updater-${version}.tar.gz"; - sha256 = "bc2055c16f0dbf610b7e17650508a18fa5a1de652ecdf69c5d4073c97376e9cf"; - }; - - doCheck = false; - - propagatedBuildInputs = [ php ]; - - meta = { - description = "Fast parallel feed updater for the Nextcloud news app"; - mainProgram = "nextcloud-news-updater"; - homepage = "https://github.com/nextcloud/news-updater"; - license = lib.licenses.gpl3; - maintainers = with lib.maintainers; [ schneefux ]; - }; -} diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index fd1e82d28a68..69fe37aeb8ec 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -1072,6 +1072,7 @@ mapAliases { first on 24.05 because Nextcloud doesn't support upgrades across multiple major versions! ''; # Added 2024-06-25 nextcloud27Packages = throw "Nextcloud27 is EOL!"; # Added 2024-06-25 + nextcloud-news-updater = throw "nextcloud-news-updater has been removed because the project is unmaintained"; # Added 2025-03-28 nagiosPluginsOfficial = monitoring-plugins; neochat = makePlasma5Throw "neochat"; # added 2022-05-10 nerdfonts = throw '' diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b1319f5d2667..9713a34fe557 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4239,8 +4239,6 @@ with pkgs; nextcloud30Packages = callPackage ../servers/nextcloud/packages { ncVersion = "30"; }; nextcloud31Packages = callPackage ../servers/nextcloud/packages { ncVersion = "31"; }; - nextcloud-news-updater = callPackage ../servers/nextcloud/news-updater.nix { }; - nextcloud-notify_push = callPackage ../servers/nextcloud/notify_push.nix { }; inherit (callPackages ../applications/networking/cluster/nomad { }) From 47f7b963773f55e92eb1aeda6d22ecb4be1bdfdb Mon Sep 17 00:00:00 2001 From: provokateurin Date: Sat, 29 Mar 2025 11:32:41 +0100 Subject: [PATCH 4/5] maintainers: Add provokateurin --- maintainers/maintainer-list.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 80fac0d41653..f252e57d41ba 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -19336,6 +19336,11 @@ githubId = 15833376; name = "Pierre ROux"; }; + provokateurin = { + name = "Kate Döen"; + github = "provokateurin"; + githubId = 26026535; + }; prrlvr = { email = "po@prrlvr.fr"; github = "prrlvr"; From 4714f769cdce02edd619fec4855e8a3ba859687f Mon Sep 17 00:00:00 2001 From: provokateurin Date: Sat, 29 Mar 2025 11:33:02 +0100 Subject: [PATCH 5/5] maintainers: Add provokateurin to nextcloud team --- maintainers/team-list.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/maintainers/team-list.nix b/maintainers/team-list.nix index b3d41f9b34aa..197400af873b 100644 --- a/maintainers/team-list.nix +++ b/maintainers/team-list.nix @@ -864,6 +864,7 @@ with lib.maintainers; britter dotlambda ma27 + provokateurin ]; scope = "Maintain Nextcloud, its tests and the integration of applications."; shortName = "Nextcloud";