Does anyone know if anyone has gotten smooth transition in Plymouth working? Archwiki seems to have a section on it (see Plymouth - ArchWiki) however I can’t see to see any relevant documentation for this in NixOS?
3 Likes
This is what worked for me:
systemd.services."display-manager" = {
conflicts = [ "plymouth-quit.service" ];
preStart = "${pkgs.plymouth}/bin/plymouth deactivate";
script = "/run/current-system/sw/bin/sddm";
postStart = "/bin/sh -c 'sleep 5 && ${pkgs.plymouth}/bin/plymouth quit --retain-splash'";
enable = true;
};
I took the idea from here.
The original one disables sddm.service
but you’re probably enabling SDDM via services.displayManager.sddm.enable = true
, so I just modified the existing display-manager.service
.
You probably want to save all your work before running nixos-rebuild switch
and don’t delete past profiles just in case - I saw plymouth screen immediately after updating the first time and was forced to shutdown.
Hope this helps!
1 Like
Update:
If you encounter error messages like this:
warning: the following units failed: display-manager.service
× display-manager.service - Display Manager
…
**** nixos systemd[1]: display-manager.service: Scheduled restart job, restart counter is at 3.
**** nixos systemd[1]: display-manager.service: Start request repeated too quickly.
**** nixos systemd[1]: display-manager.service: Failed with result 'exit-code'.
**** nixos systemd[1]: Failed to start Display Manager.
Then you probably want to increase startLimitBurst
(or startLimitIntervalSec
as well probably) like this:
systemd.services."display-manager" = {
# ...
startLimitBurst = lib.mkForce 10;
};