My computer booted really slow with a message
a start job is running for udev wait for complete device initialization .
After some research, I ran
systemd-analyze blame and found out the problem was that
systemd-udev-settle took about 6 seconds and
NetworkManager-wait-online 2 seconds.
Searching around I found some related issues:
However, they don’t offer a solution that works for me. After some trying, I came up with this config:
systemd.services.systemd-udev-settle.enable = false;
systemd.services.NetworkManager-wait-online.enable = false;
and now my nixos system boots amazing fast!
Hope this will help someone else!
The first PR addresses an different issue - telling some units not to pull in
systemd-udev-settle so if it’s still firing for you, it’s because something else is pulling it in and ideally we find out what that is and remove it.
Being explicit about disabling it is obviously fine too.
Most likely “networking.dhcpcd.enable” is the thing that pulls in systemd-udev-settle. Any idea if it’s safe to remove that one?
I think so, it was added to fix a race condition with the interface renaming but it’s now solved.