{ pkgs, config, lib, flakeRoot, ... }: let grubThemeDir = "/boot/grub/themes/catppuccin-mocha"; grubThemeFile = "${grubThemeDir}/theme.txt"; plymouthThemeDir = "/usr/share/plymouth/themes/catppuccin"; in { boot = { initrd = { verbose = false; kernelModules = []; }; kernelPackages = pkgs.linuxPackages_latest; kernelParams = [ "quiet" "udev.log_level=3" "systemd.show_status=auto" ]; consoleLogLevel = 3; supportedFilesystems = [ "ntfs" ]; # Correct GRUB + UEFI configuration loader = { grub = { enable = true; efiSupport = true; # enable UEFI mode devices = [ "nodev" ]; # nodev for UEFI useOSProber = true; theme = grubThemeFile; }; timeout = 5; }; # Plymouth splashscreen plymouth = { enable = true; theme = "rings"; themePackages = with pkgs; [ (adi1090x-plymouth-themes.override { selected_themes = [ "rings" ]; }) ]; }; }; # Activation script: write Catppuccin GRUB theme system.activationScripts.grubTheme = { text = '' mkdir -p ${grubThemeDir} cat > ${grubThemeFile} <