Files
nixos/Droidnix/generated/hosts/traveldroid/boot.nix
T
2026-03-22 10:22:39 +00:00

70 lines
2.0 KiB
Nix

{ config, pkgs, lib, flakeRoot, ... }:
let
# Path where GRUB theme will live
grubThemeDir = "/boot/grub/themes/catppuccin-mocha";
grubThemeFile = "${grubThemeDir}/theme.txt";
# Path to your custom splash image
bootAssets = "${flakeRoot}/assets/system/theming/boot";
# Catppuccin Mocha color palette
catppuccin = {
base = "#1e1e2e";
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";
};
in
{
system.activationScripts.grubTheme = {
text = ''
echo "Installing GRUB Catppuccin Mocha theme..."
# Create theme directory
mkdir -p ${grubThemeDir}
# Generate theme.txt automatically
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
# Copy background if exists
if [ -f "${bootAssets}/grub-bg.png" ]; then
cp "${bootAssets}/grub-bg.png" "${grubThemeDir}/background.png"
fi
echo "GRUB Catppuccin Mocha theme installed at ${grubThemeDir}."
'';
};
# Optionally configure Plymouth using the same folder
system.activationScripts.plymouthTheme = {
text = ''
if [ -f "${bootAssets}/mocha.webp" ]; then
mkdir -p /usr/share/plymouth/themes/catppuccin
cp "${bootAssets}/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
'';
};
}