From 6818f35ebbb519bcbc16635acbd621b4132b3999 Mon Sep 17 00:00:00 2001 From: Softer Date: Sun, 26 Apr 2026 11:46:32 +0300 Subject: [PATCH] Encapsulate UEFI-only flag in Bootloader enum Replace module-level _UEFI_ONLY_BOOTLOADERS tuple with an is_uefi_only() method on the Bootloader enum, mirroring the existing has_uki_support() / has_removable_support() pattern. --- archinstall/lib/bootloader/utils.py | 5 +---- archinstall/lib/models/bootloader.py | 7 +++++++ 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/archinstall/lib/bootloader/utils.py b/archinstall/lib/bootloader/utils.py index 2d0b5a81..e40b0b0f 100644 --- a/archinstall/lib/bootloader/utils.py +++ b/archinstall/lib/bootloader/utils.py @@ -19,9 +19,6 @@ class BootloaderValidationFailure: description: str -_UEFI_ONLY_BOOTLOADERS = (Bootloader.Systemd, Bootloader.Efistub, Bootloader.Refind) - - def validate_bootloader_layout( bootloader_config: BootloaderConfiguration | None, disk_config: DiskLayoutConfiguration | None, @@ -40,7 +37,7 @@ def validate_bootloader_layout( if bootloader == Bootloader.NO_BOOTLOADER: return None - if bootloader in _UEFI_ONLY_BOOTLOADERS and not is_uefi: + if bootloader.is_uefi_only() and not is_uefi: return BootloaderValidationFailure( kind=BootloaderValidationFailureKind.BootloaderRequiresUefi, description=f'{bootloader.value} requires a UEFI system.', diff --git a/archinstall/lib/models/bootloader.py b/archinstall/lib/models/bootloader.py index 68c0bf98..5d8d0d80 100644 --- a/archinstall/lib/models/bootloader.py +++ b/archinstall/lib/models/bootloader.py @@ -25,6 +25,13 @@ class Bootloader(Enum): case _: return False + def is_uefi_only(self) -> bool: + match self: + case Bootloader.Systemd | Bootloader.Efistub | Bootloader.Refind: + return True + case _: + return False + def json(self) -> str: return self.value