Unverified Commit 67d1f272 authored by Maximilian Bosch's avatar Maximilian Bosch
Browse files

nextcloud: expose `nextcloudXXPackages` as `nextcloudXX.packages`

That way you can add packages like this in your `configuration.nix(8)`:

    extraApps = with config.services.nextcloud.package.packages.apps; {
      inherit calendar contacts;
    };

I.e. it's not necessary anymore to update the reference anymore when
upgrading to a new major.
parent 3c7af053
Loading
Loading
Loading
Loading
+15 −4
Original line number Diff line number Diff line
{ lib, stdenv, fetchurl, nixosTests }:
{ lib, stdenv, fetchurl, nixosTests
, nextcloud27Packages
, nextcloud26Packages
, nextcloud25Packages
}:

let
  generic = {
    version, sha256,
    eol ? false, extraVulnerabilities ? []
    version, sha256
  , eol ? false, extraVulnerabilities ? []
  , packages
  }: let
    major = lib.versions.major version;
  in stdenv.mkDerivation rec {
@@ -18,7 +23,10 @@ let
    # This patch is only necessary for NC version <26.
    patches = lib.optional (lib.versionOlder major "26") (./patches + "/v${major}/0001-Setup-remove-custom-dbuser-creation-behavior.patch");

    passthru.tests = nixosTests.nextcloud;
    passthru = {
      tests = nixosTests.nextcloud;
      inherit packages;
    };

    installPhase = ''
      runHook preInstall
@@ -54,16 +62,19 @@ in {
  nextcloud25 = generic {
    version = "25.0.7";
    sha256 = "sha256-LpAUcSXW1riFpW3PnAC774tKE1PNE6ypVRXZlnZvNF8=";
    packages = nextcloud25Packages;
  };

  nextcloud26 = generic {
    version = "26.0.2";
    sha256 = "sha256-89sOxeCq/3wIjrNPdS1315kTvGeE4PxHqEzaoo5WejM=";
    packages = nextcloud26Packages;
  };

  nextcloud27 = generic {
    version = "27.0.0";
    sha256 = "sha256-PTEqCbk0WsBYdY3XtAWb888LHw8ddHJRtvrDWFumUz8=";
    packages = nextcloud27Packages;
  };

  # tip: get the sha with: