diff --git a/archinstall/lib/global_menu.py b/archinstall/lib/global_menu.py index 7265f52a..c3c45ecd 100644 --- a/archinstall/lib/global_menu.py +++ b/archinstall/lib/global_menu.py @@ -1,6 +1,6 @@ from __future__ import annotations -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override from archinstall.lib.disk.disk_menu import DiskLayoutConfigurationMenu from archinstall.lib.disk.encryption_menu import DiskEncryptionMenu @@ -245,6 +245,7 @@ class GlobalMenu(AbstractMenu): return list(missing) + @override def _is_config_valid(self) -> bool: """ Checks the validity of the current configuration. diff --git a/archinstall/lib/menu/abstract_menu.py b/archinstall/lib/menu/abstract_menu.py index 2d3982b5..a63eb691 100644 --- a/archinstall/lib/menu/abstract_menu.py +++ b/archinstall/lib/menu/abstract_menu.py @@ -89,6 +89,9 @@ class AbstractMenu: for item in self._menu_item_group.items: item.enabled = False + def _is_config_valid(self) -> bool: + return True + def run(self) -> Any | None: self._sync_from_config() @@ -108,6 +111,8 @@ class AbstractMenu: item: MenuItem = result.item() if item.action is None: + if not self._is_config_valid(): + continue break case ResultType.Reset: return None