{ config, pkgs, ... }: let grub-theme-ascii-diana = (pkgs.fetchFromGitea { domain = "git.nx2.site"; owner = "nx2"; repo = "grub-theme-ascii-diana"; rev = "0.5.0"; hash = "sha256-e+55NYsSsWY6GPbYUtdVEB9krueuCAWT3Ce/Ghops1g="; }); in { boot.loader.efi.canTouchEfiVariables = true; boot.loader.grub = { enable = true; configurationLimit = 30; # device = "/dev/nvme0n1p1"; device = "nodev"; # useOSProber = true; efiSupport = true; # theme = pkgs.sleek-grub-theme; theme = grub-theme-ascii-diana; font = "${grub-theme-ascii-diana}/unicode.pf2"; fontSize = 50; splashImage = null; extraEntries = '' menuentry 'Windows 11' --class windows --class os $menuentry_id_option 'osprober-efi-0A97-7A2D' { insmod part_gpt insmod fat search --no-floppy --fs-uuid --set=root 0A97-7A2D chainloader /EFI/Microsoft/Boot/bootmgfw.efi } menuentry 'Arch Linux ' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-simple-0c11547f-0294-419b-93d0-45c6d1f1c546' { insmod part_gpt insmod ext2 search --no-floppy --fs-uuid --set=root 0c11547f-0294-419b-93d0-45c6d1f1c546 linux /boot/vmlinuz-linux-lts root=UUID=0c11547f-0294-419b-93d0-45c6d1f1c546 rw loglevel=3 quiet splash snd_hda_intel.dmic_detect=0 initrd /boot/intel-ucode.img /boot/initramfs-linux-lts.img } submenu 'Arch (A.O.)' $menuentry_id_option 'osprober-gnulinux-advanced-0c11547f-0294-419b-93d0-45c6d1f1c546' { menuentry 'Arch Linux (on /dev/nvme0n1p5)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-linux-lts--0c11547f-0294-419b-93d0-45c6d1f1c546' { insmod part_gpt insmod ext2 search --no-floppy --fs-uuid --set=root 0c11547f-0294-419b-93d0-45c6d1f1c546 linux /boot/vmlinuz-linux-lts root=UUID=0c11547f-0294-419b-93d0-45c6d1f1c546 rw loglevel=3 quiet splash snd_hda_intel.dmic_detect=0 initrd /boot/intel-ucode.img /boot/initramfs-linux-lts.img } menuentry 'Arch Linux, with Linux linux-lts (on /dev/nvme0n1p5)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-linux-lts--0c11547f-0294-419b-93d0-45c6d1f1c546' { insmod part_gpt insmod ext2 search --no-floppy --fs-uuid --set=root 0c11547f-0294-419b-93d0-45c6d1f1c546 linux /boot/vmlinuz-linux-lts root=UUID=0c11547f-0294-419b-93d0-45c6d1f1c546 rw loglevel=3 quiet splash snd_hda_intel.dmic_detect=0 initrd /boot/intel-ucode.img /boot/initramfs-linux-lts.img } menuentry 'Arch Linux, with Linux linux-lts (fallback initramfs) (on /dev/nvme0n1p5)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-linux-lts--0c11547f-0294-419b-93d0-45c6d1f1c546' { insmod part_gpt insmod ext2 search --no-floppy --fs-uuid --set=root 0c11547f-0294-419b-93d0-45c6d1f1c546 linux /boot/vmlinuz-linux-lts root=UUID=0c11547f-0294-419b-93d0-45c6d1f1c546 rw loglevel=3 quiet splash snd_hda_intel.dmic_detect=0 initrd /boot/intel-ucode.img /boot/initramfs-linux-lts-fallback.img } menuentry 'Arch Linux, with Linux linux (on /dev/nvme0n1p5)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-linux--0c11547f-0294-419b-93d0-45c6d1f1c546' { insmod part_gpt insmod ext2 search --no-floppy --fs-uuid --set=root 0c11547f-0294-419b-93d0-45c6d1f1c546 linux /boot/vmlinuz-linux root=UUID=0c11547f-0294-419b-93d0-45c6d1f1c546 rw loglevel=3 quiet splash snd_hda_intel.dmic_detect=0 initrd /boot/intel-ucode.img /boot/initramfs-linux.img } menuentry 'Arch Linux, with Linux linux (fallback initramfs) (on /dev/nvme0n1p5)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-linux--0c11547f-0294-419b-93d0-45c6d1f1c546' { insmod part_gpt insmod ext2 search --no-floppy --fs-uuid --set=root 0c11547f-0294-419b-93d0-45c6d1f1c546 linux /boot/vmlinuz-linux root=UUID=0c11547f-0294-419b-93d0-45c6d1f1c546 rw loglevel=3 quiet splash snd_hda_intel.dmic_detect=0 initrd /boot/intel-ucode.img /boot/initramfs-linux-fallback.img } } ''; }; }