Regenerated
This commit is contained in:
@@ -0,0 +1,91 @@
|
||||
{ config, pkgs, lib, flakeRoot, ... }:
|
||||
|
||||
let
|
||||
# Path to store GRUB theme
|
||||
grubThemeDir = "/boot/grub/themes/catppuccin-mocha";
|
||||
|
||||
# Catppuccin Mocha colors
|
||||
catppuccin = {
|
||||
base = "#1e1e2e"; # background
|
||||
mantle = "#181825";
|
||||
crust = "#11111b";
|
||||
text = "#cdd6f4";
|
||||
rosewater = "#f5e0dc";
|
||||
flamingo = "#f2cdcd";
|
||||
pink = "#f5c2e7";
|
||||
mauve = "#cba6f7";
|
||||
red = "#f38ba8";
|
||||
maroon = "#eba0ac";
|
||||
peach = "#fab387";
|
||||
yellow = "#f9e2af";
|
||||
green = "#a6e3a1";
|
||||
teal = "#94e2d5";
|
||||
sky = "#89dceb";
|
||||
sapphire = "#74c7ec";
|
||||
blue = "#89b4fa";
|
||||
lavender = "#b4befe";
|
||||
};
|
||||
|
||||
# Helper to recursively write theme files
|
||||
grubThemeFile = "${grubThemeDir}/theme.txt";
|
||||
|
||||
in
|
||||
{
|
||||
boot = {
|
||||
initrd = {
|
||||
verbose = false;
|
||||
kernelModules = [];
|
||||
};
|
||||
|
||||
extraModulePackages = [];
|
||||
kernelPackages = pkgs.linuxPackages_latest;
|
||||
kernelParams = [ "quiet" ];
|
||||
consoleLogLevel = 0;
|
||||
|
||||
plymouth.enable = true;
|
||||
plymouth.theme = "spinner"; # default theme; we can override with custom image
|
||||
|
||||
supportedFilesystems = [ "ntfs" ];
|
||||
|
||||
loader = {
|
||||
systemd-boot.enable = true;
|
||||
systemd-boot.configurationLimit = 10;
|
||||
efi.canTouchEfiVariables = true;
|
||||
timeout = 5;
|
||||
};
|
||||
};
|
||||
|
||||
# GRUB theme setup using activation script
|
||||
system.activationScripts.grubTheme = {
|
||||
text = ''
|
||||
mkdir -p ${grubThemeDir}
|
||||
|
||||
# Write GRUB theme using Catppuccin colors
|
||||
cat > ${grubThemeFile} <<EOF
|
||||
# Catppuccin Mocha GRUB theme
|
||||
desktop-color = ${catppuccin.base}
|
||||
normal-color = ${catppuccin.text}
|
||||
selected-item-color = ${catppuccin.rosewater}
|
||||
selected-item-highlight-color = ${catppuccin.pink}
|
||||
EOF
|
||||
|
||||
# Optional: copy a matching PNG for background if exists in flake assets
|
||||
if [ -f "${flakeRoot}/assets/grub-bg.png" ]; then
|
||||
cp "${flakeRoot}/assets/grub-bg.png" "${grubThemeDir}/background.png"
|
||||
fi
|
||||
|
||||
echo "GRUB Catppuccin Mocha theme installed."
|
||||
'';
|
||||
};
|
||||
|
||||
# Optionally, configure Plymouth to use your Catppuccin splash image
|
||||
system.activationScripts.plymouthTheme = {
|
||||
text = ''
|
||||
if [ -f "${flakeRoot}/assets/system/theming/mocha.webp" ]; then
|
||||
mkdir -p /usr/share/plymouth/themes/catppuccin
|
||||
cp "${flakeRoot}//assets/system/theming/mocha.webp" /usr/share/plymouth/themes/catppuccin/splash.png
|
||||
update-alternatives --install /usr/share/plymouth/themes/default.plymouth default.plymouth /usr/share/plymouth/themes/catppuccin/splash.png 100
|
||||
fi
|
||||
'';
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user