From de709d7c46e1b5fe1616fa42e021a683bce37fd1 Mon Sep 17 00:00:00 2001 From: Softer Date: Sat, 11 Apr 2026 04:21:15 +0300 Subject: [PATCH] Make network configuration mandatory with explicit "No network" option --- archinstall/lib/global_menu.py | 1 + archinstall/lib/models/network.py | 3 +++ archinstall/lib/network/network_handler.py | 2 ++ archinstall/lib/network/network_menu.py | 4 +++- archinstall/locales/base.pot | 3 +++ archinstall/locales/uk/LC_MESSAGES/base.po | 3 +++ 6 files changed, 15 insertions(+), 1 deletion(-) diff --git a/archinstall/lib/global_menu.py b/archinstall/lib/global_menu.py index cae51df2..b81194b9 100644 --- a/archinstall/lib/global_menu.py +++ b/archinstall/lib/global_menu.py @@ -134,6 +134,7 @@ class GlobalMenu(AbstractMenu[None]): action=select_network, value={}, preview_action=self._prev_network_config, + mandatory=True, key='network_config', ), MenuItem( diff --git a/archinstall/lib/models/network.py b/archinstall/lib/models/network.py index 71f3dca2..f19d1a71 100644 --- a/archinstall/lib/models/network.py +++ b/archinstall/lib/models/network.py @@ -12,6 +12,7 @@ class NicType(Enum): NM = 'nm' NM_IWD = 'nm_iwd' MANUAL = 'manual' + NONE = 'none' def display_msg(self) -> str: match self: @@ -23,6 +24,8 @@ class NicType(Enum): return tr('Use Network Manager (iwd backend)') case NicType.MANUAL: return tr('Manual configuration') + case NicType.NONE: + return tr('No network') class _NicSerialization(TypedDict): diff --git a/archinstall/lib/network/network_handler.py b/archinstall/lib/network/network_handler.py index 13548584..48b863fd 100644 --- a/archinstall/lib/network/network_handler.py +++ b/archinstall/lib/network/network_handler.py @@ -37,6 +37,8 @@ def install_network_config( installation.configure_nic(nic) installation.enable_service('systemd-networkd') installation.enable_service('systemd-resolved') + case NicType.NONE: + pass def _configure_nm_iwd(installation: Installer) -> None: diff --git a/archinstall/lib/network/network_menu.py b/archinstall/lib/network/network_menu.py index bcf54698..1b0f7456 100644 --- a/archinstall/lib/network/network_menu.py +++ b/archinstall/lib/network/network_menu.py @@ -172,7 +172,7 @@ async def select_network(preset: NetworkConfiguration | None) -> NetworkConfigur """ items = [MenuItem(n.display_msg(), value=n) for n in NicType] - group = MenuItemGroup(items, sort_items=True) + group = MenuItemGroup(items, sort_items=False) if preset: group.set_selected_by_value(preset.type) @@ -205,5 +205,7 @@ async def select_network(preset: NetworkConfiguration | None) -> NetworkConfigur if nics: return NetworkConfiguration(NicType.MANUAL, nics) + case NicType.NONE: + return NetworkConfiguration(NicType.NONE) return preset diff --git a/archinstall/locales/base.pot b/archinstall/locales/base.pot index df0915c7..3bce4c9c 100644 --- a/archinstall/locales/base.pot +++ b/archinstall/locales/base.pot @@ -633,6 +633,9 @@ msgstr "" msgid "Manual configuration" msgstr "" +msgid "No network" +msgstr "" + msgid "Mark/Unmark a partition as compressed (btrfs only)" msgstr "" diff --git a/archinstall/locales/uk/LC_MESSAGES/base.po b/archinstall/locales/uk/LC_MESSAGES/base.po index b88fd290..9eeaa1db 100644 --- a/archinstall/locales/uk/LC_MESSAGES/base.po +++ b/archinstall/locales/uk/LC_MESSAGES/base.po @@ -646,6 +646,9 @@ msgstr "Оберіть інтерфейс для додавання" msgid "Manual configuration" msgstr "Ручне налаштування" +msgid "No network" +msgstr "Без мережі" + msgid "Mark/Unmark a partition as compressed (btrfs only)" msgstr "Позначити/зняти позначку розділу як стисненого (лише btrfs)"