···141141142142- `libvirt` now supports using `nftables` backend.143143144144+- `systemd.extraConfig` and `boot.initrd.systemd.extraConfig` was converted to RFC42-style `systemd.settings.Manager` and `boot.initrd.systemd.settings.Manager` respectively.145145+ - `systemd.watchdog.runtimeTime` was renamed to `systemd.settings.Manager.RuntimeWatchdogSec`146146+ - `systemd.watchdog.device` was renamed to `systemd.settings.Manager.WatchdogDevice`147147+ - `systemd.watchdog.rebootTime` was renamed to `systemd.settings.Manager.RebootWatchdogSec`148148+ - `systemd.watchdog.kexecTime` was renamed to `systemd.settings.Manager.KExecWatchdogSec`149149+ - `systemd.enableCgroupAccounting` was removed. Cgroup accounting now needs to be disabled directly using `systemd.settings.Manager.*Accounting`.150150+144151- `services.ntpd-rs` now performs configuration validation.145152146153- `services.postsrsd` now automatically integrates with the local Postfix instance, when enabled. This behavior can disabled using the [services.postsrsd.configurePostfix](#opt-services.postsrsd.configurePostfix) option.
+1-1
nixos/modules/security/pam.nix
···16631663 must be that described in {manpage}`limits.conf(5)`.1664166416651665 Note that these limits do not apply to systemd services,16661666- whose limits can be changed via {option}`systemd.extraConfig`16661666+ whose limits can be changed via {option}`systemd.settings.Manager`16671667 instead.16681668 '';16691669 };
···2424 mountToUnit2525 automountToUnit2626 sliceToUnit2727+ attrsToSection2728 ;28292930 upstreamSystemUnits = [···406405 '';407406 };408407409409- enableCgroupAccounting = mkOption {410410- default = true;411411- type = types.bool;412412- description = ''413413- Whether to enable cgroup accounting; see {manpage}`cgroups(7)`.408408+ settings.Manager = mkOption {409409+ default = { };410410+ defaultText = lib.literalExpression ''411411+ {412412+ DefaultIOAccounting = true;413413+ DefaultIPAccounting = true;414414+ }414415 '';415415- };416416-417417- extraConfig = mkOption {418418- default = "";419419- type = types.lines;420420- example = "DefaultLimitCORE=infinity";416416+ type = lib.types.submodule {417417+ freeformType = types.attrsOf unitOption;418418+ };419419+ example = {420420+ WatchdogDevice = "/dev/watchdog";421421+ RuntimeWatchdogSec = "30s";422422+ RebootWatchdogSec = "10min";423423+ KExecWatchdogSec = "5min";424424+ };421425 description = ''422422- Extra config options for systemd. See {manpage}`systemd-system.conf(5)` man page426426+ Options for the global systemd service manager. See {manpage}`systemd-system.conf(5)` man page423427 for available options.424428 '';425429 };···461455 {option}`systemd.additionalUpstreamSystemUnits`. The main purpose of this is to462456 prevent a upstream systemd unit from being added to the initrd with any modifications made to it463457 by other NixOS modules.464464- '';465465- };466466-467467- watchdog.device = mkOption {468468- type = types.nullOr types.path;469469- default = null;470470- example = "/dev/watchdog";471471- description = ''472472- The path to a hardware watchdog device which will be managed by systemd.473473- If not specified, systemd will default to `/dev/watchdog`.474474- '';475475- };476476-477477- watchdog.runtimeTime = mkOption {478478- type = types.nullOr types.str;479479- default = null;480480- example = "30s";481481- description = ''482482- The amount of time which can elapse before a watchdog hardware device483483- will automatically reboot the system.484484-485485- Valid time units include "ms", "s", "min", "h", "d", and "w";486486- see {manpage}`systemd.time(7)`.487487- '';488488- };489489-490490- watchdog.rebootTime = mkOption {491491- type = types.nullOr types.str;492492- default = null;493493- example = "10m";494494- description = ''495495- The amount of time which can elapse after a reboot has been triggered496496- before a watchdog hardware device will automatically reboot the system.497497- If left `null`, systemd will use its default of 10 minutes;498498- see {manpage}`systemd-system.conf(5)`.499499-500500- Valid time units include "ms", "s", "min", "h", "d", and "w";501501- see also {manpage}`systemd.time(7)`.502502- '';503503- };504504-505505- watchdog.kexecTime = mkOption {506506- type = types.nullOr types.str;507507- default = null;508508- example = "10m";509509- description = ''510510- The amount of time which can elapse when `kexec` is being executed before511511- a watchdog hardware device will automatically reboot the system. This512512- option should only be enabled if `reloadTime` is also enabled;513513- see {manpage}`kexec(8)`.514514-515515- Valid time units include "ms", "s", "min", "h", "d", and "w";516516- see also {manpage}`systemd.time(7)`.517458 '';518459 };519460 };···591638592639 "systemd/system.conf".text = ''593640 [Manager]594594- ManagerEnvironment=${595595- lib.concatStringsSep " " (596596- lib.mapAttrsToList (n: v: "${n}=${lib.escapeShellArg v}") cfg.managerEnvironment597597- )598598- }599599- ${optionalString cfg.enableCgroupAccounting ''600600- DefaultCPUAccounting=yes601601- DefaultIOAccounting=yes602602- DefaultBlockIOAccounting=yes603603- DefaultIPAccounting=yes604604- ''}605605- DefaultLimitCORE=infinity606606- ${optionalString (cfg.watchdog.device != null) ''607607- WatchdogDevice=${cfg.watchdog.device}608608- ''}609609- ${optionalString (cfg.watchdog.runtimeTime != null) ''610610- RuntimeWatchdogSec=${cfg.watchdog.runtimeTime}611611- ''}612612- ${optionalString (cfg.watchdog.rebootTime != null) ''613613- RebootWatchdogSec=${cfg.watchdog.rebootTime}614614- ''}615615- ${optionalString (cfg.watchdog.kexecTime != null) ''616616- KExecWatchdogSec=${cfg.watchdog.kexecTime}617617- ''}618618-619619- ${cfg.extraConfig}641641+ ${attrsToSection cfg.settings.Manager}620642 '';621643622644 "systemd/sleep.conf".text = ''···676748 SYSTEMD_UNIT_PATH = lib.mkIf (677749 config.boot.extraSystemdUnitPaths != [ ]678750 ) "${builtins.concatStringsSep ":" config.boot.extraSystemdUnitPaths}:";751751+ };752752+ systemd.settings.Manager = {753753+ ManagerEnvironment = lib.concatStringsSep " " (754754+ lib.mapAttrsToList (n: v: "${n}=${lib.escapeShellArg v}") cfg.managerEnvironment755755+ );756756+ DefaultIOAccounting = lib.mkDefault true;757757+ DefaultIPAccounting = lib.mkDefault true;679758 };680759681760 system.requiredKernelConfig = map config.lib.kernelConfig.isEnabled [···793858 To forcibly reenable cgroup v1 support, you can set boot.kernelParams = [ "systemd.unified_cgroup_hierarchy=0" "SYSTEMD_CGROUP_ENABLE_LEGACY_FORCE=1" ].794859 NixOS does not officially support this configuration and might cause your system to be unbootable in future versions. You are on your own.795860 '')861861+ (mkRemovedOptionModule [ "systemd" "extraConfig" ] "Use systemd.settings.Manager instead.")862862+ (lib.mkRenamedOptionModule863863+ [ "systemd" "watchdog" "device" ]864864+ [ "systemd" "settings" "Manager" "WatchdogDevice" ]865865+ )866866+ (lib.mkRenamedOptionModule867867+ [ "systemd" "watchdog" "runtimeTime" ]868868+ [ "systemd" "settings" "Manager" "RuntimeWatchdogSec" ]869869+ )870870+ (lib.mkRenamedOptionModule871871+ [ "systemd" "watchdog" "rebootTime" ]872872+ [ "systemd" "settings" "Manager" "RebootWatchdogSec" ]873873+ )874874+ (lib.mkRenamedOptionModule875875+ [ "systemd" "watchdog" "kexecTime" ]876876+ [ "systemd" "settings" "Manager" "KExecWatchdogSec" ]877877+ )878878+ (mkRemovedOptionModule [879879+ "systemd"880880+ "enableCgroupAccounting"881881+ ] "To disable cgroup accounting, disable systemd.settings.Manager.*Accounting directly.")796882 ];797883}
+35-12
nixos/modules/system/boot/systemd/initrd.nix
···11111212let1313 inherit (utils) systemdUtils escapeSystemdPath;1414+ inherit (systemdUtils.unitOptions) unitOption;1415 inherit (systemdUtils.lib)1516 generateUnits1617 pathToUnit···2221 timerToUnit2322 mountToUnit2423 automountToUnit2424+ attrsToSection2525 ;26262727 cfg = config.boot.initrd.systemd;···141139 It only saved ~1MiB of initramfs size, but caused a few issues142140 like unloadable kernel modules.143141 '')142142+ (lib.mkRemovedOptionModule [143143+ "boot"144144+ "initrd"145145+ "systemd"146146+ "extraConfig"147147+ ] "Use boot.initrd.systemd.settings.Manager instead.")144148 ];145149146150 options.boot.initrd.systemd = {···169161 '';170162 };171163172172- extraConfig = mkOption {173173- default = "";174174- type = types.lines;175175- example = "DefaultLimitCORE=infinity";164164+ settings.Manager = mkOption {165165+ default = { };166166+ defaultText = lib.literalExpression ''167167+ {168168+ DefaultEnvironment = "PATH=/bin:/sbin";169169+ }170170+ '';171171+ type = lib.types.submodule {172172+ freeformType = types.attrsOf unitOption;173173+ };174174+ example = {175175+ WatchdogDevice = "/dev/watchdog";176176+ RuntimeWatchdogSec = "30s";177177+ RebootWatchdogSec = "10min";178178+ KExecWatchdogSec = "5min";179179+ };176180 description = ''177177- Extra config options for systemd. See {manpage}`systemd-system.conf(5)` man page181181+ Options for the global systemd service manager used in initrd. See {manpage}`systemd-system.conf(5)` man page178182 for available options.179183 '';180184 };···202182 ])203183 );204184 default = { };185185+ defaultText = ''186186+ {187187+ PATH = "/bin:/sbin";188188+ }189189+ '';205190 example = {206191 SYSTEMD_LOG_LEVEL = "debug";207192 };···475450 };476451477452 managerEnvironment.PATH = "/bin:/sbin";453453+ settings.Manager.ManagerEnvironment = lib.concatStringsSep " " (454454+ lib.mapAttrsToList (n: v: "${n}=${lib.escapeShellArg v}") cfg.managerEnvironment455455+ );456456+ settings.Manager.DefaultEnvironment = "PATH=/bin:/sbin";478457479458 contents = {480459 "/tmp/.keep".text = "systemd requires the /tmp mount point in the initrd cpio archive";···487458488459 "/etc/systemd/system.conf".text = ''489460 [Manager]490490- DefaultEnvironment=PATH=/bin:/sbin491491- ${cfg.extraConfig}492492- ManagerEnvironment=${493493- lib.concatStringsSep " " (494494- lib.mapAttrsToList (n: v: "${n}=${lib.escapeShellArg v}") cfg.managerEnvironment495495- )496496- }461461+ ${attrsToSection cfg.settings.Manager}497462 '';498463499464 "/lib".source = "${config.system.build.modulesClosure}/lib";
···224224 graph225225 model226226 pipeline-audio227227+ pipeline-data227228 pipeline-image228229 pipeline-llm229230 pipeline-text···290289 ++ optional-dependencies.api291290 ++ optional-dependencies.similarity;292291293293- enabledTestPaths = [294294- "test/python/test*.py"295295- ];296296-297297- # The deselected paths depend on the huggingface hub and should be run as a passthru test298298- # disabledTestPaths won't work as the problem is with the classes containing the tests299299- # (in other words, it fails on __init__)300300- disabledTestPaths = [301301- "test/python/testagent.py"302302- "test/python/testcloud.py"303303- "test/python/testconsole.py"304304- "test/python/testembeddings.py"305305- "test/python/testgraph.py"306306- "test/python/testapi/testapiembeddings.py"307307- "test/python/testapi/testapipipelines.py"308308- "test/python/testapi/testapiworkflow.py"309309- "test/python/testdatabase/testclient.py"310310- "test/python/testdatabase/testduckdb.py"311311- "test/python/testdatabase/testencoder.py"312312- "test/python/testworkflow.py"292292+ pytestFlagsArray = [293293+ "test/python/*"313294 ];314295315296 disabledTests = [···299316 "testInvalidTar"300317 "testInvalidZip"301318 # Downloads from Huggingface319319+ "TestAgent"320320+ "TestCloud"321321+ "TestConsole"322322+ "TestEmbeddings"323323+ "TestGraph"324324+ "TestWorkflow"302325 "testPipeline"303326 "testVectors"304327 # Not finding sqlite-vec despite being supplied