{ pkgs, config, lib, flakeRoot, ... }: let # Paths for theming grubThemeDir = "/boot/grub/themes/catppuccin-mocha"; grubThemeFile = "${grubThemeDir}/theme.txt"; plymouthThemeDir = "/usr/share/plymouth/themes/catppuccin"; plymouthSplash = "${flakeRoot}/assets/system/theming/boot/mocha.webp"; in { boot = { # Kernel and initrd settings initrd = { verbose = false; kernelModules = []; }; kernelPackages = pkgs.linuxPackages_latest; kernelParams = [ "quiet" "udev.log_level=3" "systemd.show_status=auto" ]; consoleLogLevel = 3; # Filesystems supported at boot supportedFilesystems = [ "ntfs" ]; # GRUB loader loader.grub = { enable = true; efiSupport = true; devices = [ "/dev/nvme0n1" ]; # <- must point to real disk useOSProber = true; }; boot.efi.canTouchEfiVariables = true; # Plymouth splashscreen plymouth = { enable = true; theme = "catppuccin"; themePackages = with pkgs; [ (adi1090x-plymouth-themes.override { selected_themes = [ "spinner" ]; # default, overridden below }) ]; }; }; # Activation script: write Catppuccin GRUB theme system.activationScripts.grubTheme = { text = '' mkdir -p ${grubThemeDir} # Write a simple theme.txt using Catppuccin Mocha colors cat > ${grubThemeFile} <