Add Limine bootloader support with themed styling

Phase 2: Bootloader improvements

- Add bootloader choice: systemd-boot (default) or Limine
- Configure Limine with classical theme colors:
  - Dark brown background (#1a1611)
  - Tan text (#d4c4a8)
  - Gold accents (#d4a857)
- Add Plymouth boot splash option
- Update installer to prompt for bootloader choice
- Add example-limine configuration
- Update documentation with boot options

Users can now choose between:
1. systemd-boot - Simple, reliable, well-tested (default)
2. Limine - Modern, prettier, themed to match Nomarchy

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-02-15 02:50:48 -05:00
parent 58e4232f2f
commit 6686a9f6b6
5 changed files with 140 additions and 10 deletions

View File

@@ -117,6 +117,28 @@ prompt_location() {
echo ""
}
prompt_bootloader() {
echo -e "${BOLD}Bootloader${NC}"
echo "1) systemd-boot (default) - Simple, reliable, well-tested"
echo "2) Limine - Modern, prettier, themed to match Nomarchy"
read -rp "Choose bootloader [1/2]: " bootloader_choice
bootloader_choice="${bootloader_choice:-1}"
if [[ "$bootloader_choice" == "2" ]]; then
bootloader="limine"
echo -e "${CYAN}Using Limine bootloader${NC}"
else
bootloader="systemd-boot"
echo -e "${CYAN}Using systemd-boot${NC}"
fi
read -rp "Enable Plymouth boot splash? [y/N]: " plymouth
plymouth="${plymouth:-n}"
[[ "$plymouth" =~ ^[Yy] ]] && enable_plymouth="true" || enable_plymouth="false"
echo ""
}
prompt_features() {
echo -e "${BOLD}Optional Features${NC}"
@@ -182,6 +204,10 @@ generate_config() {
enablePrinting = ${enable_printing};
enableBluetooth = true;
# Boot
bootloader = "${bootloader}";
enablePlymouth = ${enable_plymouth};
# Performance (security tradeoff)
enableMitigationsOff = ${enable_mitigations_off};
@@ -253,6 +279,8 @@ show_summary() {
echo -e "Timezone: ${CYAN}${timezone}${NC}"
echo -e "Locale: ${CYAN}${locale}${NC}"
echo -e "Keyboard: ${CYAN}${keyboard}${NC}"
echo -e "Bootloader: ${CYAN}${bootloader}${NC}"
echo -e "Plymouth: ${CYAN}${enable_plymouth}${NC}"
echo -e "Syncthing: ${CYAN}${enable_syncthing}${NC}"
echo -e "Mullvad: ${CYAN}${enable_mullvad}${NC}"
echo -e "Printing: ${CYAN}${enable_printing}${NC}"
@@ -303,6 +331,7 @@ main() {
prompt_locale
prompt_keyboard
prompt_location
prompt_bootloader
prompt_features
show_summary