diff --git a/configuration/services/nextcloud.nix b/configuration/services/nextcloud.nix index fddddde..c25cfb2 100644 --- a/configuration/services/nextcloud.nix +++ b/configuration/services/nextcloud.nix @@ -3,14 +3,14 @@ config, ... }: let - inherit (pkgs) fetchNextcloudApp; - nextcloud = pkgs.nextcloud24; + nextcloud = pkgs.nextcloud25; hostName = "nextcloud.${config.services.nginx.domain}"; in { services.nextcloud = { inherit hostName; package = nextcloud; + enableBrokenCiphersForSSE = false; enable = true; maxUploadSize = "2G"; https = true; @@ -28,12 +28,6 @@ in { }; extraApps = { - # TODO(tlater): Seems like this won't work anymore from - # Nextcloud 25 onwards. - # - # Adopt whatever upstream does with this: - # https://github.com/nextcloud/server/issues/4917 - inherit (pkgs.local) apporder; inherit (pkgs.local) bookmarks calendar contacts cookbook news notes; }; diff --git a/pkgs/_sources_nextcloud/generated.json b/pkgs/_sources_nextcloud/generated.json index c4a4b55..7752f5e 100644 --- a/pkgs/_sources_nextcloud/generated.json +++ b/pkgs/_sources_nextcloud/generated.json @@ -7,9 +7,8 @@ "passthru": null, "pinned": false, "src": { - "name": null, - "sha256": "sha256-p3VWxTYDCO2NePq6oLM8tBVqYkvoB7itqxp7IZwGDnE=", - "type": "url", + "sha256": "1nx1vdwlqyy3x5vw2h2xx51hmv7gsp8mam1fj813yc3655js9m96", + "type": "tarball", "url": "https://github.com/juliushaertl/apporder/releases/download/v0.15.0/apporder.tar.gz" }, "version": "v0.15.0" @@ -22,12 +21,11 @@ "passthru": null, "pinned": false, "src": { - "name": null, - "sha256": "sha256-URqtzaCx8FEZHCDP1wSBUFNs+x50jesRtWi+xOU1oXM=", - "type": "url", - "url": "https://github.com/nextcloud/bookmarks/releases/download/v11.0.4/bookmarks-11.0.4.tar.gz" + "sha256": "0dkfjafbynkrymsq183sad7zynqr2qls0cld73nvzn3smnvdl2xx", + "type": "tarball", + "url": "https://github.com/nextcloud/bookmarks/releases/download/v12.0.0/bookmarks-12.0.0.tar.gz" }, - "version": "11.0.4" + "version": "12.0.0" }, "calendar": { "cargoLocks": null, @@ -37,12 +35,11 @@ "passthru": null, "pinned": false, "src": { - "name": null, - "sha256": "sha256-+LRGl9h40AQdWN9SW+NqGwTafAGwV07Af8nVs3pUCm0=", - "type": "url", - "url": "https://github.com/nextcloud-releases/calendar/releases/download/v3.5.0/calendar-v3.5.0.tar.gz" + "sha256": "06p92w2idml5g3zc0xhp25rpgkxm3d5pmxpx7dmqlqvw8r6z07an", + "type": "tarball", + "url": "https://github.com/nextcloud-releases/calendar/releases/download/v4.2.0/calendar-v4.2.0.tar.gz" }, - "version": "v3.5.0" + "version": "v4.2.0" }, "contacts": { "cargoLocks": null, @@ -52,12 +49,11 @@ "passthru": null, "pinned": false, "src": { - "name": null, - "sha256": "sha256-GTiyZsUHBXPgQ17DHAihmt2W/ZnAjDwfgwnujkRwk6A=", - "type": "url", - "url": "https://github.com/nextcloud-releases/contacts/releases/download/v4.2.2/contacts-v4.2.2.tar.gz" + "sha256": "097a71if6kkc7nphfc8b6llqlsskjwp1vg83134hzgfscvllvaj8", + "type": "tarball", + "url": "https://github.com/nextcloud-releases/contacts/releases/download/v5.0.2/contacts-v5.0.2.tar.gz" }, - "version": "v4.2.2" + "version": "v5.0.2" }, "cookbook": { "cargoLocks": null, @@ -67,12 +63,11 @@ "passthru": null, "pinned": false, "src": { - "name": null, - "sha256": "sha256-3lCqvmaMsgrFD5PzyHIcwxxGeC+qOMTGxbOi7nPFL6I=", - "type": "url", - "url": "https://github.com/nextcloud/cookbook/releases/download/v0.9.17/Cookbook-0.9.17.tar.gz" + "sha256": "1xpy060yi7pl8i91xjv2jj18yvsmjzwmv91y7i686qq8n2kc1fcg", + "type": "tarball", + "url": "https://github.com/nextcloud/cookbook/releases/download/v0.10.1/Cookbook-0.10.1.tar.gz" }, - "version": "0.9.17" + "version": "0.10.1" }, "news": { "cargoLocks": null, @@ -82,12 +77,11 @@ "passthru": null, "pinned": false, "src": { - "name": null, - "sha256": "sha256-lVF4H9v7bSw8137lfq4PsVg8e1TpcgvJVQU/UVQfSoY=", - "type": "url", - "url": "https://github.com/nextcloud/news/releases/download/19.0.0/news.tar.gz" + "sha256": "0pnriarr2iqci2v2hn6vpvszf4m4pkcxsd2i13bp7n1zqkg6swd7", + "type": "tarball", + "url": "https://github.com/nextcloud/news/releases/download/20.0.0/news.tar.gz" }, - "version": "19.0.0" + "version": "20.0.0" }, "notes": { "cargoLocks": null, @@ -97,11 +91,10 @@ "passthru": null, "pinned": false, "src": { - "name": null, - "sha256": "sha256-rd3uVkVtARX4enRAWm1ivV468lboYZnYe7/zsqaHYpk=", - "type": "url", - "url": "https://github.com/nextcloud/notes/releases/download/v4.5.1/notes.tar.gz" + "sha256": "1jcgv3awr45jq3n3qv851qlpbdl2plixba0iq2s54dmhciypdckl", + "type": "tarball", + "url": "https://github.com/nextcloud/notes/releases/download/v4.6.0/notes.tar.gz" }, - "version": "v4.5.1" + "version": "v4.6.0" } } \ No newline at end of file diff --git a/pkgs/_sources_nextcloud/generated.nix b/pkgs/_sources_nextcloud/generated.nix index 324306d..f3a0521 100644 --- a/pkgs/_sources_nextcloud/generated.nix +++ b/pkgs/_sources_nextcloud/generated.nix @@ -4,57 +4,57 @@ apporder = { pname = "apporder"; version = "v0.15.0"; - src = fetchurl { + src = fetchTarball { url = "https://github.com/juliushaertl/apporder/releases/download/v0.15.0/apporder.tar.gz"; - sha256 = "sha256-p3VWxTYDCO2NePq6oLM8tBVqYkvoB7itqxp7IZwGDnE="; + sha256 = "1nx1vdwlqyy3x5vw2h2xx51hmv7gsp8mam1fj813yc3655js9m96"; }; }; bookmarks = { pname = "bookmarks"; - version = "11.0.4"; - src = fetchurl { - url = "https://github.com/nextcloud/bookmarks/releases/download/v11.0.4/bookmarks-11.0.4.tar.gz"; - sha256 = "sha256-URqtzaCx8FEZHCDP1wSBUFNs+x50jesRtWi+xOU1oXM="; + version = "12.0.0"; + src = fetchTarball { + url = "https://github.com/nextcloud/bookmarks/releases/download/v12.0.0/bookmarks-12.0.0.tar.gz"; + sha256 = "0dkfjafbynkrymsq183sad7zynqr2qls0cld73nvzn3smnvdl2xx"; }; }; calendar = { pname = "calendar"; - version = "v3.5.0"; - src = fetchurl { - url = "https://github.com/nextcloud-releases/calendar/releases/download/v3.5.0/calendar-v3.5.0.tar.gz"; - sha256 = "sha256-+LRGl9h40AQdWN9SW+NqGwTafAGwV07Af8nVs3pUCm0="; + version = "v4.2.0"; + src = fetchTarball { + url = "https://github.com/nextcloud-releases/calendar/releases/download/v4.2.0/calendar-v4.2.0.tar.gz"; + sha256 = "06p92w2idml5g3zc0xhp25rpgkxm3d5pmxpx7dmqlqvw8r6z07an"; }; }; contacts = { pname = "contacts"; - version = "v4.2.2"; - src = fetchurl { - url = "https://github.com/nextcloud-releases/contacts/releases/download/v4.2.2/contacts-v4.2.2.tar.gz"; - sha256 = "sha256-GTiyZsUHBXPgQ17DHAihmt2W/ZnAjDwfgwnujkRwk6A="; + version = "v5.0.2"; + src = fetchTarball { + url = "https://github.com/nextcloud-releases/contacts/releases/download/v5.0.2/contacts-v5.0.2.tar.gz"; + sha256 = "097a71if6kkc7nphfc8b6llqlsskjwp1vg83134hzgfscvllvaj8"; }; }; cookbook = { pname = "cookbook"; - version = "0.9.17"; - src = fetchurl { - url = "https://github.com/nextcloud/cookbook/releases/download/v0.9.17/Cookbook-0.9.17.tar.gz"; - sha256 = "sha256-3lCqvmaMsgrFD5PzyHIcwxxGeC+qOMTGxbOi7nPFL6I="; + version = "0.10.1"; + src = fetchTarball { + url = "https://github.com/nextcloud/cookbook/releases/download/v0.10.1/Cookbook-0.10.1.tar.gz"; + sha256 = "1xpy060yi7pl8i91xjv2jj18yvsmjzwmv91y7i686qq8n2kc1fcg"; }; }; news = { pname = "news"; - version = "19.0.0"; - src = fetchurl { - url = "https://github.com/nextcloud/news/releases/download/19.0.0/news.tar.gz"; - sha256 = "sha256-lVF4H9v7bSw8137lfq4PsVg8e1TpcgvJVQU/UVQfSoY="; + version = "20.0.0"; + src = fetchTarball { + url = "https://github.com/nextcloud/news/releases/download/20.0.0/news.tar.gz"; + sha256 = "0pnriarr2iqci2v2hn6vpvszf4m4pkcxsd2i13bp7n1zqkg6swd7"; }; }; notes = { pname = "notes"; - version = "v4.5.1"; - src = fetchurl { - url = "https://github.com/nextcloud/notes/releases/download/v4.5.1/notes.tar.gz"; - sha256 = "sha256-rd3uVkVtARX4enRAWm1ivV468lboYZnYe7/zsqaHYpk="; + version = "v4.6.0"; + src = fetchTarball { + url = "https://github.com/nextcloud/notes/releases/download/v4.6.0/notes.tar.gz"; + sha256 = "1jcgv3awr45jq3n3qv851qlpbdl2plixba0iq2s54dmhciypdckl"; }; }; } diff --git a/pkgs/default.nix b/pkgs/default.nix index 545984a..3818a26 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -2,7 +2,7 @@ pkgs, lib, }: let - inherit (builtins) listToAttrs mapAttrs; + inherit (builtins) fromJSON mapAttrs readFile; inherit (pkgs) callPackage; in { @@ -12,7 +12,7 @@ in # Add nextcloud apps let mkNextcloudApp = pkgs.callPackage ./mkNextcloudApp.nix {}; - sources = pkgs.callPackage ./_sources_nextcloud/generated.nix {}; + sources = fromJSON (readFile ./_sources_nextcloud/generated.json); in mapAttrs (_: source: mkNextcloudApp source) sources ) diff --git a/pkgs/mkNextcloudApp.nix b/pkgs/mkNextcloudApp.nix index 3c78a94..6430ac1 100644 --- a/pkgs/mkNextcloudApp.nix +++ b/pkgs/mkNextcloudApp.nix @@ -1,13 +1,8 @@ { fetchNextcloudApp, lib, -}: let - inherit (lib) removePrefix; -in - source: - fetchNextcloudApp { - name = source.pname; - version = removePrefix "v" source.version; - url = source.src.url; - sha256 = source.src.outputHash; - } +}: source: +fetchNextcloudApp { + url = source.src.url; + sha256 = source.src.sha256; +} diff --git a/pkgs/nextcloud-apps.toml b/pkgs/nextcloud-apps.toml index 6e06432..69bccdc 100644 --- a/pkgs/nextcloud-apps.toml +++ b/pkgs/nextcloud-apps.toml @@ -1,35 +1,26 @@ -[apporder] -src.github = "juliushaertl/apporder" -fetch.url = "https://github.com/juliushaertl/apporder/releases/download/$ver/apporder.tar.gz" - [bookmarks] src.github = "nextcloud/bookmarks" src.prefix = "v" -fetch.url = "https://github.com/nextcloud/bookmarks/releases/download/v$ver/bookmarks-$ver.tar.gz" +fetch.tarball = "https://github.com/nextcloud/bookmarks/releases/download/v$ver/bookmarks-$ver.tar.gz" [calendar] -src.manual = "v3.5.0" # Pinned until we update to nextcloud 25 -# src.github = "nextcloud-releases/calendar" -fetch.url = "https://github.com/nextcloud-releases/calendar/releases/download/$ver/calendar-$ver.tar.gz" +src.github = "nextcloud-releases/calendar" +fetch.tarball = "https://github.com/nextcloud-releases/calendar/releases/download/$ver/calendar-$ver.tar.gz" [contacts] -src.manual = "v4.2.2" # Pinned until we update to nextcloud 25 -# src.github = "nextcloud-releases/contacts" -fetch.url = "https://github.com/nextcloud-releases/contacts/releases/download/$ver/contacts-$ver.tar.gz" +src.github = "nextcloud-releases/contacts" +fetch.tarball = "https://github.com/nextcloud-releases/contacts/releases/download/$ver/contacts-$ver.tar.gz" [cookbook] src.github_tag = "nextcloud/cookbook" src.prefix = "v" src.exclude_regex = 'v\d+\.\d+\.\d+-rc\d+' -fetch.url = "https://github.com/nextcloud/cookbook/releases/download/v$ver/Cookbook-$ver.tar.gz" +fetch.tarball = "https://github.com/nextcloud/cookbook/releases/download/v$ver/Cookbook-$ver.tar.gz" [news] src.github = "nextcloud/news" -# Sadly, the news app vendors things, and those are only included in -# their tarball. -fetch.url = "https://github.com/nextcloud/news/releases/download/$ver/news.tar.gz" +fetch.tarball = "https://github.com/nextcloud/news/releases/download/$ver/news.tar.gz" [notes] -src.manual = "v4.5.1" # Pinned until we update to nextcloud 25 -# src.github = "nextcloud/notes" -fetch.url = "https://github.com/nextcloud/notes/releases/download/$ver/notes.tar.gz" +src.github = "nextcloud/notes" +fetch.tarball = "https://github.com/nextcloud/notes/releases/download/$ver/notes.tar.gz"