···13361336 the npm install step prunes dev dependencies.
13371337 </para>
13381338 </listitem>
13391339+ <listitem>
13401340+ <para>
13411341+ boot.kernel.sysctl is defined as a freeformType and adds a
13421342+ custom merge option for <quote>net.core.rmem_max</quote>
13431343+ (taking the highest value defined to avoid conflicts between 2
13441344+ services trying to set that value)
13451345+ </para>
13461346+ </listitem>
13391347 </itemizedlist>
13401348 </section>
13411349</section>
+2
nixos/doc/manual/release-notes/rl-2211.section.md
···395395396396- The `nodePackages` package set now defaults to the LTS release in the `nodejs` package again, instead of being pinned to `nodejs-14_x`. Several updates to node2nix have been made for compatibility with newer Node.js and npm versions and a new `postRebuild` hook has been added for packages to perform extra build steps before the npm install step prunes dev dependencies.
397397398398+- boot.kernel.sysctl is defined as a freeformType and adds a custom merge option for "net.core.rmem_max" (taking the highest value defined to avoid conflicts between 2 services trying to set that value)
399399+398400<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
+15-1
nixos/modules/config/sysctl.nix
···2121 options = {
22222323 boot.kernel.sysctl = mkOption {
2424+ type = types.submodule {
2525+ freeformType = types.attrsOf sysctlOption;
2626+ options."net.core.rmem_max" = mkOption {
2727+ type = types.nullOr types.ints.unsigned // {
2828+ merge = loc: defs:
2929+ foldl
3030+ (a: b: if b.value == null then null else lib.max a b.value)
3131+ 0
3232+ (filterOverrides defs);
3333+ };
3434+ default = null;
3535+ description = lib.mdDoc "The maximum socket receive buffer size. In case of conflicting values, the highest will be used.";
3636+ };
3737+ };
2438 default = {};
2539 example = literalExpression ''
2640 { "net.ipv4.tcp_syncookies" = false; "vm.swappiness" = 60; }
2741 '';
2828- type = types.attrsOf sysctlOption;
2942 description = lib.mdDoc ''
3043 Runtime parameters of the Linux kernel, as set by
3144 {manpage}`sysctl(8)`. Note that sysctl
···3548 parameter may be a string, integer, boolean, or null
3649 (signifying the option will not appear at all).
3750 '';
5151+3852 };
39534054 };
+1-1
nixos/modules/services/torrent/transmission.nix
···431431 # https://trac.transmissionbt.com/browser/trunk/libtransmission/tr-udp.c?rev=11956.
432432 # at least up to the values hardcoded here:
433433 (mkIf cfg.settings.utp-enabled {
434434- "net.core.rmem_max" = mkDefault "4194304"; # 4MB
434434+ "net.core.rmem_max" = mkDefault 4194304; # 4MB
435435 "net.core.wmem_max" = mkDefault "1048576"; # 1MB
436436 })
437437 (mkIf cfg.performanceNetParameters {