Files
nixos/modules/boot-plymouth.nix
2026-02-04 11:07:33 +01:00

58 lines
2.5 KiB
Nix

# modules/boot-plymouth.nix
# Plymouth boot splash with NixOS branding
{
config,
pkgs,
lib,
...
}:
{
# ═══════════════════════════════════════════════════════════════
# SYSTEMD IN INITRD (REQUIRED FOR PLYMOUTH + LUKS)
# ═══════════════════════════════════════════════════════════════
# Enable systemd-based initramfs instead of legacy stage-1 init.
# This allows Plymouth to integrate with systemd's password agent,
# displaying the LUKS encryption password prompt within the boot
# animation instead of falling back to text mode.
boot.initrd.systemd.enable = true;
# ═══════════════════════════════════════════════════════════════
# PLYMOUTH BOOT SPLASH
# ═══════════════════════════════════════════════════════════════
boot.plymouth = {
enable = true;
theme = "nixos-bgrt";
themePackages = [ pkgs.nixos-bgrt-plymouth ];
};
# ═══════════════════════════════════════════════════════════════
# SILENT BOOT KERNEL PARAMETERS
# ═══════════════════════════════════════════════════════════════
boot.kernelParams = [
# Plymouth boot splash
"quiet"
"splash"
# Reduce console log verbosity
"loglevel=3"
"rd.udev.log_level=3"
# Hide systemd status messages
"systemd.show_status=auto"
# Hide blinking cursor
"vt.global_cursor_default=0"
];
# ═══════════════════════════════════════════════════════════════
# CONSOLE SETTINGS
# ═══════════════════════════════════════════════════════════════
# Keep console blank during boot
boot.consoleLogLevel = 3;
}