Since a few days ago the activation scripts when booting takes a long time, last boot it was 8+ minutes and latest nixos-rebuild switch was 16+ minutes. I found this post on the forums: https://discourse.nixos.org/t/running-activation-script-takes-several-minutes and it seems to be the same perl script (update-users-groups.pl) that takes a very long time to complete. The file suggested in that thread (/var/lib/nixos/uid-map) looks normal for me and removing it does nothing.
systemd-analyze outputs:
Startup finished in 11.178s (firmware) + 2.801s (loader) + 8min 1.940s (kernel) + 6.591s (userspace) = 8min 22.511s
graphical.target reached after 6.591s in userspace
Update, now the activation script errors out instead:
nixos on î‚ main [!]
❯ sudo nixos-rebuild switch --flake ".#"
[sudo] password for simon:
warning: Git tree '/home/simon/Workspace/nixos' is dirty
warning: Using saved setting for 'extra-experimental-features = nix-command flakes' from ~/.local/share/nix/trusted-settings.json.
building the system configuration...
warning: Git tree '/home/simon/Workspace/nixos' is dirty
warning: Using saved setting for 'extra-experimental-features = nix-command flakes' from ~/.local/share/nix/trusted-settings.json.
activating the configuration...
panic: pp_match start/end pointers, i=1, start=0, end=3758096461, s=7fa00a74f010, strend=7fa0ea74f05d, len=18446744073172680781 at /nix/store/c9aks0l4kz0alyq4g64xjx8mk7ps3dk7-perl-5.34.1-env/lib/perl5/site_perl/5.34.1/File/Slurp.pm line 133.
Activation script snippet 'users' failed (255)
setting up /etc...
reloading user units for simon...
setting up tmpfiles
warning: error(s) occurred while switching to the new configuration
For future reference, I hunted the file down using:
du -cks * | sort -rn | head
The file was “/var/lib/nixos/auto-subuid-map” and it was filled with garbage. I deleted it and did nixos-rebuild switch and now it seems to be back to normal.