···16641664 </listitem>
16651665 <listitem>
16661666 <para>
16671667+ The default version of <literal>nextcloud</literal> is
16681668+ <emphasis role="strong">nextcloud24</emphasis>. Please note
16691669+ that it’s <emphasis role="strong">not</emphasis> possible to
16701670+ upgrade <literal>nextcloud</literal> across multiple major
16711671+ versions! This means it’s e.g. not possible to upgrade from
16721672+ <literal>nextcloud22</literal> to
16731673+ <literal>nextcloud24</literal> in a single deploy and most
16741674+ <literal>21.11</literal> users will have to upgrade to
16751675+ <literal>nextcloud23</literal> first.
16761676+ </para>
16771677+ </listitem>
16781678+ <listitem>
16791679+ <para>
16671680 <literal>pkgs.vimPlugins.onedark-nvim</literal> now refers to
16681681 <link xlink:href="https://github.com/navarasu/onedark.nvim">navarasu/onedark.nvim</link>
16691682 (formerly refers to
+4
nixos/doc/manual/release-notes/rl-2205.section.md
···636636637637- The `vpnc` package has been changed to use GnuTLS instead of OpenSSL by default for licensing reasons.
638638639639+- The default version of `nextcloud` is **nextcloud24**. Please note that it's **not** possible to upgrade
640640+ `nextcloud` across multiple major versions! This means it's e.g. not possible to upgrade from `nextcloud22`
641641+ to `nextcloud24` in a single deploy and most `21.11` users will have to upgrade to `nextcloud23` first.
642642+639643- `pkgs.vimPlugins.onedark-nvim` now refers to [navarasu/onedark.nvim](https://github.com/navarasu/onedark.nvim)
640644 (formerly refers to [olimorris/onedarkpro.nvim](https://github.com/olimorris/onedarkpro.nvim)).
641645
+31-27
nixos/modules/services/mail/mailman.nix
···6677 cfg = config.services.mailman;
8899- pythonEnv = pkgs.python3.withPackages (ps:
1010- [ps.mailman ps.mailman-web]
1111- ++ lib.optional cfg.hyperkitty.enable ps.mailman-hyperkitty
1212- ++ cfg.extraPythonPackages);
99+ inherit (pkgs.mailmanPackages.buildEnvs { withHyperkitty = cfg.hyperkitty.enable; })
1010+ mailmanEnv webEnv;
1111+1212+ withPostgresql = config.services.postgresql.enable;
13131414 # This deliberately doesn't use recursiveUpdate so users can
1515 # override the defaults.
···7272 stored in the world-readable Nix store. To continue using
7373 Hyperkitty, you must set services.mailman.hyperkitty.enable = true.
7474 '')
7575+ (mkRemovedOptionModule [ "services" "mailman" "package" ] ''
7676+ Didn't have an effect for several years.
7777+ '')
7578 ];
76797780 options = {
···8487 description = "Enable Mailman on this host. Requires an active MTA on the host (e.g. Postfix).";
8588 };
86898787- package = mkOption {
8888- type = types.package;
8989- default = pkgs.mailman;
9090- defaultText = literalExpression "pkgs.mailman";
9191- example = literalExpression "pkgs.mailman.override { archivers = []; }";
9292- description = "Mailman package to use";
9393- };
9494-9590 enablePostfix = mkOption {
9691 type = types.bool;
9792 default = true;
···185180 mailman.layout = "fhs";
186181187182 "paths.fhs" = {
188188- bin_dir = "${pkgs.python3Packages.mailman}/bin";
183183+ bin_dir = "${pkgs.mailmanPackages.mailman}/bin";
189184 var_dir = "/var/lib/mailman";
190185 queue_dir = "$var_dir/queue";
191186 template_dir = "$var_dir/templates";
···295290 name = "mailman-tools";
296291 # We don't want to pollute the system PATH with a python
297292 # interpreter etc. so let's pick only the stuff we actually
298298- # want from pythonEnv
293293+ # want from {web,mailman}Env
299294 pathsToLink = ["/bin"];
300300- paths = [pythonEnv];
295295+ paths = [ mailmanEnv webEnv ];
296296+ # Only mailman-related stuff is installed, the rest is removed
297297+ # in `postBuild`.
298298+ ignoreCollisions = true;
301299 postBuild = ''
302300 find $out/bin/ -mindepth 1 -not -name "mailman*" -delete
303301 '';
···320318 description = "GNU Mailman Master Process";
321319 before = lib.optional cfg.enablePostfix "postfix.service";
322320 after = [ "network.target" ]
323323- ++ lib.optional cfg.enablePostfix "postfix-setup.service";
321321+ ++ lib.optional cfg.enablePostfix "postfix-setup.service"
322322+ ++ lib.optional withPostgresql "postgresql.service";
324323 restartTriggers = [ config.environment.etc."mailman.cfg".source ];
324324+ requires = optional withPostgresql "postgresql.service";
325325 wantedBy = [ "multi-user.target" ];
326326 serviceConfig = {
327327- ExecStart = "${pythonEnv}/bin/mailman start";
328328- ExecStop = "${pythonEnv}/bin/mailman stop";
327327+ ExecStart = "${mailmanEnv}/bin/mailman start";
328328+ ExecStop = "${mailmanEnv}/bin/mailman stop";
329329 User = "mailman";
330330 Group = "mailman";
331331 Type = "forking";
···340340 before = [ "mailman.service" "mailman-web-setup.service" "mailman-uwsgi.service" "hyperkitty.service" ];
341341 requiredBy = [ "mailman.service" "mailman-web-setup.service" "mailman-uwsgi.service" "hyperkitty.service" ];
342342 path = with pkgs; [ jq ];
343343+ after = optional withPostgresql "postgresql.service";
344344+ requires = optional withPostgresql "postgresql.service";
343345 serviceConfig.Type = "oneshot";
344346 script = ''
345347 mailmanDir=/var/lib/mailman
···381383 restartTriggers = [ config.environment.etc."mailman3/settings.py".source ];
382384 script = ''
383385 [[ -e "${webSettings.STATIC_ROOT}" ]] && find "${webSettings.STATIC_ROOT}/" -mindepth 1 -delete
384384- ${pythonEnv}/bin/mailman-web migrate
385385- ${pythonEnv}/bin/mailman-web collectstatic
386386- ${pythonEnv}/bin/mailman-web compress
386386+ ${webEnv}/bin/mailman-web migrate
387387+ ${webEnv}/bin/mailman-web collectstatic
388388+ ${webEnv}/bin/mailman-web compress
387389 '';
388390 serviceConfig = {
389391 User = cfg.webUser;
···397399 uwsgiConfig.uwsgi = {
398400 type = "normal";
399401 plugins = ["python3"];
400400- home = pythonEnv;
402402+ home = webEnv;
401403 module = "mailman_web.wsgi";
402404 http = "127.0.0.1:18507";
403405 };
404406 uwsgiConfigFile = pkgs.writeText "uwsgi-mailman.json" (builtins.toJSON uwsgiConfig);
405407 in {
406408 wantedBy = ["multi-user.target"];
407407- requires = ["mailman-uwsgi.socket" "mailman-web-setup.service"];
409409+ after = optional withPostgresql "postgresql.service";
410410+ requires = ["mailman-uwsgi.socket" "mailman-web-setup.service"]
411411+ ++ optional withPostgresql "postgresql.service";
408412 restartTriggers = [ config.environment.etc."mailman3/settings.py".source ];
409413 serviceConfig = {
410414 # Since the mailman-web settings.py obstinately creates a logs
···422426 startAt = "daily";
423427 restartTriggers = [ config.environment.etc."mailman.cfg".source ];
424428 serviceConfig = {
425425- ExecStart = "${pythonEnv}/bin/mailman digests --send";
429429+ ExecStart = "${mailmanEnv}/bin/mailman digests --send";
426430 User = "mailman";
427431 Group = "mailman";
428432 };
···434438 restartTriggers = [ config.environment.etc."mailman3/settings.py".source ];
435439 wantedBy = [ "mailman.service" "multi-user.target" ];
436440 serviceConfig = {
437437- ExecStart = "${pythonEnv}/bin/mailman-web qcluster";
441441+ ExecStart = "${webEnv}/bin/mailman-web qcluster";
438442 User = cfg.webUser;
439443 Group = "mailman";
440444 WorkingDirectory = "/var/lib/mailman-web";
···453457 inherit startAt;
454458 restartTriggers = [ config.environment.etc."mailman3/settings.py".source ];
455459 serviceConfig = {
456456- ExecStart = "${pythonEnv}/bin/mailman-web runjobs ${name}";
460460+ ExecStart = "${webEnv}/bin/mailman-web runjobs ${name}";
457461 User = cfg.webUser;
458462 Group = "mailman";
459463 WorkingDirectory = "/var/lib/mailman-web";
···462466 };
463467464468 meta = {
465465- maintainers = with lib.maintainers; [ lheckemann qyliss ];
469469+ maintainers = with lib.maintainers; [ lheckemann qyliss ma27 ];
466470 doc = ./mailman.xml;
467471 };
468472
+1-2
nixos/modules/services/web-apps/nextcloud.nix
···153153 package = mkOption {
154154 type = types.package;
155155 description = "Which package to use for the Nextcloud instance.";
156156- relatedPackages = [ "nextcloud22" "nextcloud23" "nextcloud24" ];
156156+ relatedPackages = [ "nextcloud23" "nextcloud24" ];
157157 };
158158 phpPackage = mkOption {
159159 type = types.package;
···625625 nextcloud defined in an overlay, please set `services.nextcloud.package` to
626626 `pkgs.nextcloud`.
627627 ''
628628- else if versionOlder stateVersion "21.11" then nextcloud21
629628 else if versionOlder stateVersion "22.05" then nextcloud22
630629 else nextcloud24
631630 );
···3333 };
3434 };
3535in {
3636- nextcloud21 = throw ''
3737- Nextcloud v21 has been removed from `nixpkgs` as the support for it was dropped
3838- by upstream in 2022-02. Please upgrade to at least Nextcloud v22 by declaring
3636+ nextcloud22 = throw ''
3737+ Nextcloud v22 has been removed from `nixpkgs` as the support for is dropped
3838+ by upstream in 2022-07. Please upgrade to at least Nextcloud v23 by declaring
39394040- services.nextcloud.package = pkgs.nextcloud22;
4040+ services.nextcloud.package = pkgs.nextcloud23;
41414242 in your NixOS config.
43434444- WARNING: if you were on Nextcloud 20 on NixOS 21.11 you have to upgrade to Nextcloud 21
4444+ WARNING: if you were on Nextcloud 21 on NixOS 21.11 you have to upgrade to Nextcloud 22
4545 first on 21.11 because Nextcloud doesn't support upgrades accross multiple major versions!
4646 '';
4747-4848- nextcloud22 = generic {
4949- version = "22.2.8";
5050- sha256 = "061b8a118d0fa500058a04ff8476ba96d4c24cef56e5fe5e300cc7113ce13a18";
5151- };
52475348 nextcloud23 = generic {
5449 version = "23.0.5";
···126126 eval "disabledTestPaths=($disabledTestPaths)"
127127 for path in ''${disabledTestPaths[@]}; do
128128 if [ -e "$path" ]; then
129129- args+=" --ignore \"$path\""
129129+ args+=" --ignore $path"
130130 else
131131 echo "Skipping non-existent test path '$path'"
132132 fi
+5
pkgs/tools/misc/marlin-calc/default.nix
···1111 sha256 = "14sqajm361gnrcqv84g7kbmyqm8pppbhqsabszc4j2cn7vbwkdg5";
1212 };
13131414+ postPatch = ''
1515+ # missing header for gcc >= 11
1616+ sed -i '1i#include <limits>' Marlin/src/module/calc.cpp
1717+ '';
1818+1419 buildPhase = ''
1520 cd Marlin/src
1621 c++ module/planner.cpp module/calc.cpp feature/fwretract.cpp \