Merge pull request #283818 from ElvishJerricco/revert-258680-network-online-x-multi-user
nixos/systemd: Temporarily bring back multi-user -> network-online
This commit is contained in:
commit
f6d787c27f
@ -140,12 +140,10 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
|
||||
- `services.avahi.nssmdns` got split into `services.avahi.nssmdns4` and `services.avahi.nssmdns6` which enable the mDNS NSS switch for IPv4 and IPv6 respectively.
|
||||
Since most mDNS responders only register IPv4 addresses, most users want to keep the IPv6 support disabled to avoid long timeouts.
|
||||
|
||||
- `multi-user.target` no longer depends on `network-online.target`.
|
||||
This will potentially break services that assumed this was the case in the past.
|
||||
This was changed for consistency with other distributions as well as improved boot times.
|
||||
|
||||
We have added a warning for services that are
|
||||
`after = [ "network-online.target" ]` but do not depend on it (e.g. using `wants`).
|
||||
- A warning has been added for services that are
|
||||
`after = [ "network-online.target" ]` but do not depend on it (e.g. using
|
||||
`wants`), because the dependency that `multi-user.target` has on
|
||||
`network-online.target` is planned for removal.
|
||||
|
||||
- `services.archisteamfarm` no longer uses the abbreviation `asf` for its state directory (`/var/lib/asf`), user and group (both `asf`). Instead the long name `archisteamfarm` is used.
|
||||
Configurations with `system.stateVersion` 23.11 or earlier, default to the old stateDirectory until the 24.11 release and must either set the option explicitly or move the data to the new directory.
|
||||
|
@ -428,7 +428,13 @@ in
|
||||
|
||||
config = {
|
||||
|
||||
warnings = concatLists (
|
||||
warnings = let
|
||||
mkOneNetOnlineWarn = typeStr: name: def: lib.optional
|
||||
(lib.elem "network-online.target" def.after && !(lib.elem "network-online.target" (def.wants ++ def.requires ++ def.bindsTo)))
|
||||
"${name}.${typeStr} is ordered after 'network-online.target' but doesn't depend on it";
|
||||
mkNetOnlineWarns = typeStr: defs: lib.concatLists (lib.mapAttrsToList (mkOneNetOnlineWarn typeStr) defs);
|
||||
mkMountNetOnlineWarns = typeStr: defs: lib.concatLists (map (m: mkOneNetOnlineWarn typeStr m.what m) defs);
|
||||
in concatLists (
|
||||
mapAttrsToList
|
||||
(name: service:
|
||||
let
|
||||
@ -449,39 +455,30 @@ in
|
||||
]
|
||||
)
|
||||
cfg.services
|
||||
);
|
||||
)
|
||||
++ (mkNetOnlineWarns "target" cfg.targets)
|
||||
++ (mkNetOnlineWarns "service" cfg.services)
|
||||
++ (mkNetOnlineWarns "socket" cfg.sockets)
|
||||
++ (mkNetOnlineWarns "timer" cfg.timers)
|
||||
++ (mkNetOnlineWarns "path" cfg.paths)
|
||||
++ (mkMountNetOnlineWarns "mount" cfg.mounts)
|
||||
++ (mkMountNetOnlineWarns "automount" cfg.automounts)
|
||||
++ (mkNetOnlineWarns "slice" cfg.slices);
|
||||
|
||||
assertions = let
|
||||
mkOneAssert = typeStr: name: def: {
|
||||
assertion = lib.elem "network-online.target" def.after -> lib.elem "network-online.target" (def.wants ++ def.requires ++ def.bindsTo);
|
||||
message = "${name}.${typeStr} is ordered after 'network-online.target' but doesn't depend on it";
|
||||
};
|
||||
mkAsserts = typeStr: lib.mapAttrsToList (mkOneAssert typeStr);
|
||||
mkMountAsserts = typeStr: map (m: mkOneAssert typeStr m.what m);
|
||||
in mkMerge [
|
||||
(concatLists (
|
||||
mapAttrsToList
|
||||
(name: service:
|
||||
map (message: {
|
||||
assertion = false;
|
||||
inherit message;
|
||||
}) (concatLists [
|
||||
(optional ((builtins.elem "network-interfaces.target" service.after) || (builtins.elem "network-interfaces.target" service.wants))
|
||||
"Service '${name}.service' is using the deprecated target network-interfaces.target, which no longer exists. Using network.target is recommended instead."
|
||||
)
|
||||
])
|
||||
)
|
||||
cfg.services
|
||||
))
|
||||
(mkAsserts "target" cfg.targets)
|
||||
(mkAsserts "service" cfg.services)
|
||||
(mkAsserts "socket" cfg.sockets)
|
||||
(mkAsserts "timer" cfg.timers)
|
||||
(mkAsserts "path" cfg.paths)
|
||||
(mkMountAsserts "mount" cfg.mounts)
|
||||
(mkMountAsserts "automount" cfg.automounts)
|
||||
(mkAsserts "slice" cfg.slices)
|
||||
];
|
||||
assertions = concatLists (
|
||||
mapAttrsToList
|
||||
(name: service:
|
||||
map (message: {
|
||||
assertion = false;
|
||||
inherit message;
|
||||
}) (concatLists [
|
||||
(optional ((builtins.elem "network-interfaces.target" service.after) || (builtins.elem "network-interfaces.target" service.wants))
|
||||
"Service '${name}.service' is using the deprecated target network-interfaces.target, which no longer exists. Using network.target is recommended instead."
|
||||
)
|
||||
])
|
||||
)
|
||||
cfg.services
|
||||
);
|
||||
|
||||
system.build.units = cfg.units;
|
||||
|
||||
@ -658,6 +655,7 @@ in
|
||||
systemd.services.systemd-udev-settle.restartIfChanged = false; # Causes long delays in nixos-rebuild
|
||||
systemd.targets.local-fs.unitConfig.X-StopOnReconfiguration = true;
|
||||
systemd.targets.remote-fs.unitConfig.X-StopOnReconfiguration = true;
|
||||
systemd.targets.network-online.wantedBy = [ "multi-user.target" ];
|
||||
systemd.services.systemd-importd.environment = proxy_env;
|
||||
systemd.services.systemd-pstore.wantedBy = [ "sysinit.target" ]; # see #81138
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user