Want to try plymouth but kinda confused

anyone can help me with solid one tutorial? looking for tutorials and now kinda confuse

This will get you a basic nix-themed boot screen:

boot.plymouth = {
  enable = true;
  theme = "breeze";
};

If you want a different theme, look for packages here: NixOS Search

Then you can enable them like so, e.g. for the blahaj theme:

boot.plymouth = {
  enable = true;
  themePackages = [
    pkgs.plymouth-blahaj-theme
  ];
  theme = "blahaj";
};

Other than that, upstream doesn’t seem to document their configuration options. The arch wiki says you can configure a delay and scaling, but not much else: Plymouth - ArchWiki

am i need to enable silent boot ? cuz its still showing even a bit

I think you do.

I find that the below config works


boot = {
    # Make boot quieter so it doesnt hide plymouth
    kernelParams = [
      "quiet"
      "splash"
    ];
    initrd.verbose = false;
    consoleLogLevel = 0;

    # Requires boot.initrd.systemd.enable = true to work properly when prompting for luks password
    plymouth.enable = true;
  };

All of it may not be required now but it was when I set it up a few nixos releases ago.

There’s an upstream issue about this here: hide boot messages when plymouth is enabled · Issue #32556 · NixOS/nixpkgs · GitHub

For what it’s worth, disabling console output to tty is a bit silly, because plymouth is designed to let you see console messages when you press escape - by disabling all of those, you will have no way to debug boot issues should they occur. There’s better workarounds in that issue (though I think you’re still out of luck on non-intel GPUs).

1 Like