Logging in to Plasma5 is extremely slow (20 seconds on a recent USD 2K+ laptop) after I press enter.
I think nobody actually did any optimization to make life better for NixOS users (not developers). I.e. it would be possible for the entire Plasma5 system to be loaded from a single file and loaded into RAM. This way, starting Plasma5 should be able to run within less than one second. Since I don’t login often, I have accepted this, but it’s not normal.
If one is talking about modern operating systems, one would expect that the default install has received some optimization to meet basic requirements. I am pretty sure that “time to working desktop” is a metric being used within Microsoft.
Bootup time is definitely something we can improve. It would be interesting to see the output of systemd-analyze blame and systemd-analyze critical-chain. There could just be some service really slowing things down.
systemd-analyze critical-chain
The time after the unit is active or started is printed after the "@" character.
The time the unit takes to start is printed after the "+" character.
graphical.target @2min 50.440s
└─multi-user.target @2min 50.440s
└─docker.service @12.637s +2min 37.802s
└─network-online.target @12.636s
└─network.target @12.629s
└─dhcpcd.service @6.501s +6.127s
└─basic.target @6.499s
└─sockets.target @6.499s
└─docker.socket @6.498s +1ms
└─sysinit.target @6.427s
└─systemd-udev-settle.service @1.323s +5.104s
└─systemd-udev-trigger.service @1.184s +136ms
└─systemd-udevd-control.socket @1.184s
└─-.mount @1.173s
└─system.slice @1.173s
└─-.slice @1.173s
Does docker consistently take this long to start for you? I remember docker taking ages to start after an update due to migrating the on-disk image format or something like that, and it would take that long on every start until I just left it to do its fiddling for half an hour or something.
failed to retrieve docker-runc version: unknown output format: runc version 1.0.0-rc5+dev\nspec: 1.0.0\n"
level=warning msg="Could not register builder git source: failed to find git binary: exec: \"git\": executable file not found in $PATH"
I expect to see zero such warnings when running systemctl status docker after a sequence of operations that are only configuration changes in configuration.nix via documented interfaces.