69 lines
1.6 KiB
Nix
69 lines
1.6 KiB
Nix
{ pkgs, config, lib, flakeRoot, ... }:
|
|
|
|
let
|
|
grubThemeSrc = "${flakeRoot}/assets/system/theming/boot";
|
|
in
|
|
{
|
|
############################
|
|
# Bootloader (GRUB)
|
|
############################
|
|
boot.loader = {
|
|
timeout = 5;
|
|
|
|
grub = {
|
|
enable = true;
|
|
efiSupport = true;
|
|
devices = [ "nodev" ];
|
|
useOSProber = true;
|
|
|
|
# Declarative theme
|
|
theme = "/boot/grub/themes/catppuccin-mocha/theme.txt";
|
|
};
|
|
};
|
|
|
|
############################
|
|
# Kernel / boot settings
|
|
############################
|
|
boot.kernelPackages = pkgs.linuxPackages_latest;
|
|
|
|
boot.kernelParams = [
|
|
"quiet"
|
|
"splash" # REQUIRED for plymouth
|
|
"udev.log_level=3"
|
|
"rd.systemd.show_status=false"
|
|
];
|
|
|
|
boot.consoleLogLevel = 0;
|
|
boot.supportedFilesystems = [ "ntfs" ];
|
|
|
|
############################
|
|
# Plymouth splashscreen
|
|
############################
|
|
boot.plymouth = {
|
|
enable = true;
|
|
theme = "rings";
|
|
|
|
themePackages = [
|
|
(pkgs.adi1090x-plymouth-themes.override {
|
|
selected_themes = [ "rings" ];
|
|
})
|
|
];
|
|
};
|
|
|
|
# Ensure plymouth starts early in initrd
|
|
boot.initrd.systemd.enable = true;
|
|
|
|
############################
|
|
# Copy GRUB theme files declaratively
|
|
############################
|
|
environment.etc = {
|
|
"grub/themes/catppuccin-mocha/theme.txt".source = "${grubThemeSrc}/theme.txt";
|
|
"grub/themes/catppuccin-mocha/background.png".source = "${grubThemeSrc}/background.png";
|
|
};
|
|
|
|
############################
|
|
# Avoid warnings
|
|
############################
|
|
system.stateVersion = "26.05";
|
|
}
|