···1664 </listitem>
1665 <listitem>
1666 <para>
00000000000001667 <literal>pkgs.vimPlugins.onedark-nvim</literal> now refers to
1668 <link xlink:href="https://github.com/navarasu/onedark.nvim">navarasu/onedark.nvim</link>
1669 (formerly refers to
···1664 </listitem>
1665 <listitem>
1666 <para>
1667+ The default version of <literal>nextcloud</literal> is
1668+ <emphasis role="strong">nextcloud24</emphasis>. Please note
1669+ that it’s <emphasis role="strong">not</emphasis> possible to
1670+ upgrade <literal>nextcloud</literal> across multiple major
1671+ versions! This means it’s e.g. not possible to upgrade from
1672+ <literal>nextcloud22</literal> to
1673+ <literal>nextcloud24</literal> in a single deploy and most
1674+ <literal>21.11</literal> users will have to upgrade to
1675+ <literal>nextcloud23</literal> first.
1676+ </para>
1677+ </listitem>
1678+ <listitem>
1679+ <para>
1680 <literal>pkgs.vimPlugins.onedark-nvim</literal> now refers to
1681 <link xlink:href="https://github.com/navarasu/onedark.nvim">navarasu/onedark.nvim</link>
1682 (formerly refers to
+4
nixos/doc/manual/release-notes/rl-2205.section.md
···636637- The `vpnc` package has been changed to use GnuTLS instead of OpenSSL by default for licensing reasons.
6380000639- `pkgs.vimPlugins.onedark-nvim` now refers to [navarasu/onedark.nvim](https://github.com/navarasu/onedark.nvim)
640 (formerly refers to [olimorris/onedarkpro.nvim](https://github.com/olimorris/onedarkpro.nvim)).
641
···636637- The `vpnc` package has been changed to use GnuTLS instead of OpenSSL by default for licensing reasons.
638639+- The default version of `nextcloud` is **nextcloud24**. Please note that it's **not** possible to upgrade
640+ `nextcloud` across multiple major versions! This means it's e.g. not possible to upgrade from `nextcloud22`
641+ to `nextcloud24` in a single deploy and most `21.11` users will have to upgrade to `nextcloud23` first.
642+643- `pkgs.vimPlugins.onedark-nvim` now refers to [navarasu/onedark.nvim](https://github.com/navarasu/onedark.nvim)
644 (formerly refers to [olimorris/onedarkpro.nvim](https://github.com/olimorris/onedarkpro.nvim)).
645
+31-27
nixos/modules/services/mail/mailman.nix
···67 cfg = config.services.mailman;
89- pythonEnv = pkgs.python3.withPackages (ps:
10- [ps.mailman ps.mailman-web]
11- ++ lib.optional cfg.hyperkitty.enable ps.mailman-hyperkitty
12- ++ cfg.extraPythonPackages);
1314 # This deliberately doesn't use recursiveUpdate so users can
15 # override the defaults.
···72 stored in the world-readable Nix store. To continue using
73 Hyperkitty, you must set services.mailman.hyperkitty.enable = true.
74 '')
00075 ];
7677 options = {
···84 description = "Enable Mailman on this host. Requires an active MTA on the host (e.g. Postfix).";
85 };
8687- package = mkOption {
88- type = types.package;
89- default = pkgs.mailman;
90- defaultText = literalExpression "pkgs.mailman";
91- example = literalExpression "pkgs.mailman.override { archivers = []; }";
92- description = "Mailman package to use";
93- };
94-95 enablePostfix = mkOption {
96 type = types.bool;
97 default = true;
···185 mailman.layout = "fhs";
186187 "paths.fhs" = {
188- bin_dir = "${pkgs.python3Packages.mailman}/bin";
189 var_dir = "/var/lib/mailman";
190 queue_dir = "$var_dir/queue";
191 template_dir = "$var_dir/templates";
···295 name = "mailman-tools";
296 # We don't want to pollute the system PATH with a python
297 # interpreter etc. so let's pick only the stuff we actually
298- # want from pythonEnv
299 pathsToLink = ["/bin"];
300- paths = [pythonEnv];
000301 postBuild = ''
302 find $out/bin/ -mindepth 1 -not -name "mailman*" -delete
303 '';
···320 description = "GNU Mailman Master Process";
321 before = lib.optional cfg.enablePostfix "postfix.service";
322 after = [ "network.target" ]
323- ++ lib.optional cfg.enablePostfix "postfix-setup.service";
0324 restartTriggers = [ config.environment.etc."mailman.cfg".source ];
0325 wantedBy = [ "multi-user.target" ];
326 serviceConfig = {
327- ExecStart = "${pythonEnv}/bin/mailman start";
328- ExecStop = "${pythonEnv}/bin/mailman stop";
329 User = "mailman";
330 Group = "mailman";
331 Type = "forking";
···340 before = [ "mailman.service" "mailman-web-setup.service" "mailman-uwsgi.service" "hyperkitty.service" ];
341 requiredBy = [ "mailman.service" "mailman-web-setup.service" "mailman-uwsgi.service" "hyperkitty.service" ];
342 path = with pkgs; [ jq ];
00343 serviceConfig.Type = "oneshot";
344 script = ''
345 mailmanDir=/var/lib/mailman
···381 restartTriggers = [ config.environment.etc."mailman3/settings.py".source ];
382 script = ''
383 [[ -e "${webSettings.STATIC_ROOT}" ]] && find "${webSettings.STATIC_ROOT}/" -mindepth 1 -delete
384- ${pythonEnv}/bin/mailman-web migrate
385- ${pythonEnv}/bin/mailman-web collectstatic
386- ${pythonEnv}/bin/mailman-web compress
387 '';
388 serviceConfig = {
389 User = cfg.webUser;
···397 uwsgiConfig.uwsgi = {
398 type = "normal";
399 plugins = ["python3"];
400- home = pythonEnv;
401 module = "mailman_web.wsgi";
402 http = "127.0.0.1:18507";
403 };
404 uwsgiConfigFile = pkgs.writeText "uwsgi-mailman.json" (builtins.toJSON uwsgiConfig);
405 in {
406 wantedBy = ["multi-user.target"];
407- requires = ["mailman-uwsgi.socket" "mailman-web-setup.service"];
00408 restartTriggers = [ config.environment.etc."mailman3/settings.py".source ];
409 serviceConfig = {
410 # Since the mailman-web settings.py obstinately creates a logs
···422 startAt = "daily";
423 restartTriggers = [ config.environment.etc."mailman.cfg".source ];
424 serviceConfig = {
425- ExecStart = "${pythonEnv}/bin/mailman digests --send";
426 User = "mailman";
427 Group = "mailman";
428 };
···434 restartTriggers = [ config.environment.etc."mailman3/settings.py".source ];
435 wantedBy = [ "mailman.service" "multi-user.target" ];
436 serviceConfig = {
437- ExecStart = "${pythonEnv}/bin/mailman-web qcluster";
438 User = cfg.webUser;
439 Group = "mailman";
440 WorkingDirectory = "/var/lib/mailman-web";
···453 inherit startAt;
454 restartTriggers = [ config.environment.etc."mailman3/settings.py".source ];
455 serviceConfig = {
456- ExecStart = "${pythonEnv}/bin/mailman-web runjobs ${name}";
457 User = cfg.webUser;
458 Group = "mailman";
459 WorkingDirectory = "/var/lib/mailman-web";
···462 };
463464 meta = {
465- maintainers = with lib.maintainers; [ lheckemann qyliss ];
466 doc = ./mailman.xml;
467 };
468
···67 cfg = config.services.mailman;
89+ inherit (pkgs.mailmanPackages.buildEnvs { withHyperkitty = cfg.hyperkitty.enable; })
10+ mailmanEnv webEnv;
11+12+ withPostgresql = config.services.postgresql.enable;
1314 # This deliberately doesn't use recursiveUpdate so users can
15 # override the defaults.
···72 stored in the world-readable Nix store. To continue using
73 Hyperkitty, you must set services.mailman.hyperkitty.enable = true.
74 '')
75+ (mkRemovedOptionModule [ "services" "mailman" "package" ] ''
76+ Didn't have an effect for several years.
77+ '')
78 ];
7980 options = {
···87 description = "Enable Mailman on this host. Requires an active MTA on the host (e.g. Postfix).";
88 };
890000000090 enablePostfix = mkOption {
91 type = types.bool;
92 default = true;
···180 mailman.layout = "fhs";
181182 "paths.fhs" = {
183+ bin_dir = "${pkgs.mailmanPackages.mailman}/bin";
184 var_dir = "/var/lib/mailman";
185 queue_dir = "$var_dir/queue";
186 template_dir = "$var_dir/templates";
···290 name = "mailman-tools";
291 # We don't want to pollute the system PATH with a python
292 # interpreter etc. so let's pick only the stuff we actually
293+ # want from {web,mailman}Env
294 pathsToLink = ["/bin"];
295+ paths = [ mailmanEnv webEnv ];
296+ # Only mailman-related stuff is installed, the rest is removed
297+ # in `postBuild`.
298+ ignoreCollisions = true;
299 postBuild = ''
300 find $out/bin/ -mindepth 1 -not -name "mailman*" -delete
301 '';
···318 description = "GNU Mailman Master Process";
319 before = lib.optional cfg.enablePostfix "postfix.service";
320 after = [ "network.target" ]
321+ ++ lib.optional cfg.enablePostfix "postfix-setup.service"
322+ ++ lib.optional withPostgresql "postgresql.service";
323 restartTriggers = [ config.environment.etc."mailman.cfg".source ];
324+ requires = optional withPostgresql "postgresql.service";
325 wantedBy = [ "multi-user.target" ];
326 serviceConfig = {
327+ ExecStart = "${mailmanEnv}/bin/mailman start";
328+ ExecStop = "${mailmanEnv}/bin/mailman stop";
329 User = "mailman";
330 Group = "mailman";
331 Type = "forking";
···340 before = [ "mailman.service" "mailman-web-setup.service" "mailman-uwsgi.service" "hyperkitty.service" ];
341 requiredBy = [ "mailman.service" "mailman-web-setup.service" "mailman-uwsgi.service" "hyperkitty.service" ];
342 path = with pkgs; [ jq ];
343+ after = optional withPostgresql "postgresql.service";
344+ requires = optional withPostgresql "postgresql.service";
345 serviceConfig.Type = "oneshot";
346 script = ''
347 mailmanDir=/var/lib/mailman
···383 restartTriggers = [ config.environment.etc."mailman3/settings.py".source ];
384 script = ''
385 [[ -e "${webSettings.STATIC_ROOT}" ]] && find "${webSettings.STATIC_ROOT}/" -mindepth 1 -delete
386+ ${webEnv}/bin/mailman-web migrate
387+ ${webEnv}/bin/mailman-web collectstatic
388+ ${webEnv}/bin/mailman-web compress
389 '';
390 serviceConfig = {
391 User = cfg.webUser;
···399 uwsgiConfig.uwsgi = {
400 type = "normal";
401 plugins = ["python3"];
402+ home = webEnv;
403 module = "mailman_web.wsgi";
404 http = "127.0.0.1:18507";
405 };
406 uwsgiConfigFile = pkgs.writeText "uwsgi-mailman.json" (builtins.toJSON uwsgiConfig);
407 in {
408 wantedBy = ["multi-user.target"];
409+ after = optional withPostgresql "postgresql.service";
410+ requires = ["mailman-uwsgi.socket" "mailman-web-setup.service"]
411+ ++ optional withPostgresql "postgresql.service";
412 restartTriggers = [ config.environment.etc."mailman3/settings.py".source ];
413 serviceConfig = {
414 # Since the mailman-web settings.py obstinately creates a logs
···426 startAt = "daily";
427 restartTriggers = [ config.environment.etc."mailman.cfg".source ];
428 serviceConfig = {
429+ ExecStart = "${mailmanEnv}/bin/mailman digests --send";
430 User = "mailman";
431 Group = "mailman";
432 };
···438 restartTriggers = [ config.environment.etc."mailman3/settings.py".source ];
439 wantedBy = [ "mailman.service" "multi-user.target" ];
440 serviceConfig = {
441+ ExecStart = "${webEnv}/bin/mailman-web qcluster";
442 User = cfg.webUser;
443 Group = "mailman";
444 WorkingDirectory = "/var/lib/mailman-web";
···457 inherit startAt;
458 restartTriggers = [ config.environment.etc."mailman3/settings.py".source ];
459 serviceConfig = {
460+ ExecStart = "${webEnv}/bin/mailman-web runjobs ${name}";
461 User = cfg.webUser;
462 Group = "mailman";
463 WorkingDirectory = "/var/lib/mailman-web";
···466 };
467468 meta = {
469+ maintainers = with lib.maintainers; [ lheckemann qyliss ma27 ];
470 doc = ./mailman.xml;
471 };
472
+1-2
nixos/modules/services/web-apps/nextcloud.nix
···153 package = mkOption {
154 type = types.package;
155 description = "Which package to use for the Nextcloud instance.";
156- relatedPackages = [ "nextcloud22" "nextcloud23" "nextcloud24" ];
157 };
158 phpPackage = mkOption {
159 type = types.package;
···625 nextcloud defined in an overlay, please set `services.nextcloud.package` to
626 `pkgs.nextcloud`.
627 ''
628- else if versionOlder stateVersion "21.11" then nextcloud21
629 else if versionOlder stateVersion "22.05" then nextcloud22
630 else nextcloud24
631 );
···153 package = mkOption {
154 type = types.package;
155 description = "Which package to use for the Nextcloud instance.";
156+ relatedPackages = [ "nextcloud23" "nextcloud24" ];
157 };
158 phpPackage = mkOption {
159 type = types.package;
···625 nextcloud defined in an overlay, please set `services.nextcloud.package` to
626 `pkgs.nextcloud`.
627 ''
0628 else if versionOlder stateVersion "22.05" then nextcloud22
629 else nextcloud24
630 );
···33 };
34 };
35in {
36- nextcloud21 = throw ''
37- Nextcloud v21 has been removed from `nixpkgs` as the support for it was dropped
38- by upstream in 2022-02. Please upgrade to at least Nextcloud v22 by declaring
3940- services.nextcloud.package = pkgs.nextcloud22;
4142 in your NixOS config.
4344- WARNING: if you were on Nextcloud 20 on NixOS 21.11 you have to upgrade to Nextcloud 21
45 first on 21.11 because Nextcloud doesn't support upgrades accross multiple major versions!
46 '';
47-48- nextcloud22 = generic {
49- version = "22.2.8";
50- sha256 = "061b8a118d0fa500058a04ff8476ba96d4c24cef56e5fe5e300cc7113ce13a18";
51- };
5253 nextcloud23 = generic {
54 version = "23.0.5";
···33 };
34 };
35in {
36+ nextcloud22 = throw ''
37+ Nextcloud v22 has been removed from `nixpkgs` as the support for is dropped
38+ by upstream in 2022-07. Please upgrade to at least Nextcloud v23 by declaring
3940+ services.nextcloud.package = pkgs.nextcloud23;
4142 in your NixOS config.
4344+ WARNING: if you were on Nextcloud 21 on NixOS 21.11 you have to upgrade to Nextcloud 22
45 first on 21.11 because Nextcloud doesn't support upgrades accross multiple major versions!
46 '';
000004748 nextcloud23 = generic {
49 version = "23.0.5";
···126 eval "disabledTestPaths=($disabledTestPaths)"
127 for path in ''${disabledTestPaths[@]}; do
128 if [ -e "$path" ]; then
129- args+=" --ignore \"$path\""
130 else
131 echo "Skipping non-existent test path '$path'"
132 fi
···126 eval "disabledTestPaths=($disabledTestPaths)"
127 for path in ''${disabledTestPaths[@]}; do
128 if [ -e "$path" ]; then
129+ args+=" --ignore $path"
130 else
131 echo "Skipping non-existent test path '$path'"
132 fi
+5
pkgs/tools/misc/marlin-calc/default.nix
···11 sha256 = "14sqajm361gnrcqv84g7kbmyqm8pppbhqsabszc4j2cn7vbwkdg5";
12 };
130000014 buildPhase = ''
15 cd Marlin/src
16 c++ module/planner.cpp module/calc.cpp feature/fwretract.cpp \
···11 sha256 = "14sqajm361gnrcqv84g7kbmyqm8pppbhqsabszc4j2cn7vbwkdg5";
12 };
1314+ postPatch = ''
15+ # missing header for gcc >= 11
16+ sed -i '1i#include <limits>' Marlin/src/module/calc.cpp
17+ '';
18+19 buildPhase = ''
20 cd Marlin/src
21 c++ module/planner.cpp module/calc.cpp feature/fwretract.cpp \