diff --git a/.github/ISSUE_TEMPLATE/01_bug.yml b/.github/ISSUE_TEMPLATE/01_bug.yml
index 058e7e9e86..ab40754fc9 100644
--- a/.github/ISSUE_TEMPLATE/01_bug.yml
+++ b/.github/ISSUE_TEMPLATE/01_bug.yml
@@ -24,7 +24,7 @@ body:
- type: textarea
id: bug-report
attributes:
- label: The installation log
+ label: The installation log
description: 'note: located at `/var/log/archinstall/install.log`'
placeholder: |
Hardware model detected: Dell Inc. Precision 7670; UEFI mode: True
@@ -82,4 +82,4 @@ body:
**Note**: Feel free to modify the textarea above as you wish.
But it will grately help us in testing if we can generate the specific qemu command line,
for instance via:
- `sudo virsh domxml-to-native qemu-argv --domain my-arch-machine`
\ No newline at end of file
+ `sudo virsh domxml-to-native qemu-argv --domain my-arch-machine`
diff --git a/.github/ISSUE_TEMPLATE/02_feature.yml b/.github/ISSUE_TEMPLATE/02_feature.yml
index 81caea3546..37efd4e114 100644
--- a/.github/ISSUE_TEMPLATE/02_feature.yml
+++ b/.github/ISSUE_TEMPLATE/02_feature.yml
@@ -14,4 +14,4 @@ body:
description: >
Feel free to write any feature you think others might benefit from:
validations:
- required: true
\ No newline at end of file
+ required: true
diff --git a/.github/workflows/github-pages.yml b/.github/workflows/github-pages.yml
index 65255fd6f6..a3232e5272 100644
--- a/.github/workflows/github-pages.yml
+++ b/.github/workflows/github-pages.yml
@@ -38,4 +38,4 @@ jobs:
publish_dir: _build/
force_orphan: true
enable_jekyll: false # This is required to preserve _static (and thus the theme)
- cname: archinstall.archlinux.page
\ No newline at end of file
+ cname: archinstall.archlinux.page
diff --git a/.gitignore b/.gitignore
index b03bd3a522..be0646552a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -38,4 +38,4 @@ venv
requirements.txt
/.gitconfig
/actions-runner
-/cmd_output.txt
\ No newline at end of file
+/cmd_output.txt
diff --git a/.pypirc b/.pypirc
index 7b926de7bd..f6c546224b 100644
--- a/.pypirc
+++ b/.pypirc
@@ -3,4 +3,4 @@ index-servers =
pypi
[pypi]
-repository = https://upload.pypi.org/legacy/
\ No newline at end of file
+repository = https://upload.pypi.org/legacy/
diff --git a/.readthedocs.yaml b/.readthedocs.yaml
index 02e90da993..781f85f3e4 100644
--- a/.readthedocs.yaml
+++ b/.readthedocs.yaml
@@ -12,4 +12,4 @@ sphinx:
build:
os: "ubuntu-22.04"
tools:
- python: "3.11"
\ No newline at end of file
+ python: "3.11"
diff --git a/archinstall/default_profiles/desktops/hyprland.py b/archinstall/default_profiles/desktops/hyprland.py
index c884a5ae5c..0e303f935b 100644
--- a/archinstall/default_profiles/desktops/hyprland.py
+++ b/archinstall/default_profiles/desktops/hyprland.py
@@ -1,8 +1,12 @@
from enum import Enum
from typing import List, Optional, TYPE_CHECKING, Any
-from archinstall.default_profiles.profile import ProfileType, GreeterType
+from archinstall.default_profiles.profile import ProfileType, GreeterType, SelectResult
from archinstall.default_profiles.xorg import XorgProfile
+from archinstall.tui import (
+ MenuItemGroup, MenuItem, SelectMenu,
+ FrameProperties, ResultType, Alignment
+)
if TYPE_CHECKING:
from archinstall.lib.installer import Installer
diff --git a/archinstall/default_profiles/desktops/sway.py b/archinstall/default_profiles/desktops/sway.py
index c0ad5abb0d..de6825b04c 100644
--- a/archinstall/default_profiles/desktops/sway.py
+++ b/archinstall/default_profiles/desktops/sway.py
@@ -1,7 +1,7 @@
from enum import Enum
from typing import List, Optional, TYPE_CHECKING, Any
-from archinstall.default_profiles.profile import ProfileType, GreeterType
+from archinstall.default_profiles.profile import ProfileType, GreeterType, SelectResult
from archinstall.default_profiles.xorg import XorgProfile
from archinstall.tui import (
diff --git a/archinstall/default_profiles/server.py b/archinstall/default_profiles/server.py
index 2a86011bc2..a809d94d86 100644
--- a/archinstall/default_profiles/server.py
+++ b/archinstall/default_profiles/server.py
@@ -1,4 +1,4 @@
-from typing import Any, TYPE_CHECKING, List
+from typing import Any, TYPE_CHECKING, List, Optional
from archinstall.lib.output import info
from archinstall.lib.profile.profiles_handler import profile_handler
diff --git a/archinstall/lib/disk/partitioning_menu.py b/archinstall/lib/disk/partitioning_menu.py
index 692fd4c1c2..c3e5d531e3 100644
--- a/archinstall/lib/disk/partitioning_menu.py
+++ b/archinstall/lib/disk/partitioning_menu.py
@@ -262,7 +262,7 @@ def _enter_size(
def validate(value: str) -> Optional[str]:
size = self._validate_value(sector_size, total_size, value, start)
if not size:
- return str(_(f'Invalid size'))
+ return str(_('Invalid size'))
return None
result = EditMenu(
diff --git a/archinstall/lib/interactions/general_conf.py b/archinstall/lib/interactions/general_conf.py
index 60549477ef..7b43016c16 100644
--- a/archinstall/lib/interactions/general_conf.py
+++ b/archinstall/lib/interactions/general_conf.py
@@ -9,14 +9,11 @@
from ..packages.packages import validate_package_list
from ..storage import storage
from ..translationhandler import Language
+from archinstall.tui.curses_menu import tui
from archinstall.tui import (
MenuItemGroup, MenuItem, SelectMenu,
- FrameProperties, Alignment, Result, ResultType, EditMenu
-)
-from archinstall.tui import (
- MenuItemGroup, MenuItem, SelectMenu,
- FrameProperties, Alignment, EditMenu,
- Orientation, tui
+ FrameProperties, Alignment, Result,
+ ResultType, EditMenu, Orientation
)
if TYPE_CHECKING:
@@ -25,7 +22,7 @@
def ask_ntp(preset: bool = True) -> bool:
header = str(_('Would you like to use automatic time synchronization (NTP) with the default time servers?\n')) + '\n'
- header += str( _('Hardware time and other post-configuration steps might be required in order for NTP to work.\nFor more information, please check the Arch wiki')) + '\n'
+ header += str(_('Hardware time and other post-configuration steps might be required in order for NTP to work.\nFor more information, please check the Arch wiki')) + '\n'
preset_val = MenuItem.yes() if preset else MenuItem.no()
group = MenuItemGroup.yes_no()
@@ -171,11 +168,6 @@ def ask_additional_packages_to_install(preset: List[str] = []) -> List[str]:
def validator(value: str) -> Optional[str]:
packages = value.split() if value else []
- def read_packages(p: list[str] = []) -> list[str]:
- display = ' '.join(p)
- input_packages = TextInput(_('Write additional packages to install (space separated, leave blank to skip): '), display).run().strip()
- return input_packages.split() if input_packages else []
-
if len(packages) == 0:
return None
@@ -236,6 +228,8 @@ def validator(s: str) -> Optional[str]:
if result.type_ == ResultType.Skip:
return preset
+ assert result.item
+
downloads: int = int(result.item)
pacman_conf_path = pathlib.Path("/etc/pacman.conf")
diff --git a/archinstall/lib/interactions/network_menu.py b/archinstall/lib/interactions/network_menu.py
index 783cb9b971..f2275909ef 100644
--- a/archinstall/lib/interactions/network_menu.py
+++ b/archinstall/lib/interactions/network_menu.py
@@ -74,7 +74,14 @@ def _select_iface(self, data: List[Nic]) -> Optional[str]:
return None
- def _get_ip_address(self, title: str, header: str, allow_skip: bool, multi: bool) -> Optional[str]:
+ def _get_ip_address(
+ self,
+ title: str,
+ header: str,
+ allow_skip: bool,
+ multi: bool,
+ preset: Optional[str] = None
+ ) -> Optional[str]:
def validator(ip: str) -> Optional[str]:
if multi:
ips = ip.split(' ')
@@ -128,7 +135,13 @@ def _edit_iface(self, edit_nic: Nic) -> Nic:
display_dns = None
header = str(_('Enter your DNS servers with space separated (leave blank for none)')) + '\n'
- dns_servers = self._get_ip_address(str(_('DNS servers')), header, True, True)
+ dns_servers = self._get_ip_address(
+ str(_('DNS servers')),
+ header,
+ True,
+ True,
+ display_dns
+ )
dns = []
if dns_servers is not None:
diff --git a/archinstall/lib/interactions/system_conf.py b/archinstall/lib/interactions/system_conf.py
index d954fbc20d..ab12e35bf2 100644
--- a/archinstall/lib/interactions/system_conf.py
+++ b/archinstall/lib/interactions/system_conf.py
@@ -171,7 +171,7 @@ def ask_for_swap(preset: bool = True) -> bool:
prompt = str(_('Would you like to use swap on zram?')) + '\n'
group = MenuItemGroup.yes_no()
- group.set_focus_by_value(preset)
+ group.set_focus_by_value(default_item)
result = SelectMenu(
group,
diff --git a/archinstall/lib/menu/abstract_menu.py b/archinstall/lib/menu/abstract_menu.py
index d086adb26c..c96e90751c 100644
--- a/archinstall/lib/menu/abstract_menu.py
+++ b/archinstall/lib/menu/abstract_menu.py
@@ -16,18 +16,18 @@
class Selector:
def __init__(
- self,
- description: str,
- func: Optional[Callable[[Any], Any]] = None,
- display_func: Optional[Callable] = None,
- default: Optional[Any] = None,
- enabled: bool = False,
- dependencies: List = [],
- dependencies_not: List = [],
- exec_func: Optional[Callable] = None,
- preview_func: Optional[Callable] = None,
- mandatory: bool = False,
- no_store: bool = False
+ self,
+ description: str,
+ func: Optional[Callable[[Any], Any]] = None,
+ display_func: Optional[Callable] = None,
+ default: Optional[Any] = None,
+ enabled: bool = False,
+ dependencies: List = [],
+ dependencies_not: List = [],
+ exec_func: Optional[Callable] = None,
+ preview_func: Optional[Callable] = None,
+ mandatory: bool = False,
+ no_store: bool = False
):
"""
Create a new menu selection entry
diff --git a/archinstall/lib/menu/list_manager.py b/archinstall/lib/menu/list_manager.py
index 8ae977f6ca..54db8f796b 100644
--- a/archinstall/lib/menu/list_manager.py
+++ b/archinstall/lib/menu/list_manager.py
@@ -4,8 +4,7 @@
from archinstall.tui import (
MenuItemGroup, MenuItem, SelectMenu,
- FrameProperties, FrameStyle, Alignment,
- ResultType, EditMenu
+ Alignment
)
if TYPE_CHECKING:
@@ -119,9 +118,6 @@ def _prepare_selection(self, data_formatted: Dict[str, Any]) -> Tuple[List[str],
def _run_actions_on_entry(self, entry: Any) -> None:
options = self.filter_options(entry, self._sub_menu_actions) + [self._cancel_action]
- display_value = self.selected_action_display(entry)
-
- prompt = _("Select an action for '{}'").format(display_value)
items = [MenuItem(o, value=o) for o in options]
group = MenuItemGroup(items, sort_items=False)
diff --git a/archinstall/lib/profile/profiles_handler.py b/archinstall/lib/profile/profiles_handler.py
index a5e70675b9..b7325ea5e7 100644
--- a/archinstall/lib/profile/profiles_handler.py
+++ b/archinstall/lib/profile/profiles_handler.py
@@ -18,7 +18,6 @@
from ..storage import storage
-
if TYPE_CHECKING:
from ..installer import Installer
_: Any
diff --git a/archinstall/scripts/minimal.py b/archinstall/scripts/minimal.py
index f2f7726584..7423f1f34b 100644
--- a/archinstall/scripts/minimal.py
+++ b/archinstall/scripts/minimal.py
@@ -2,7 +2,7 @@
from typing import TYPE_CHECKING, Any, List
import archinstall
-from archinstall import info
+from archinstall import info, debug
from archinstall import Installer, ConfigurationOutput
from archinstall.default_profiles.minimal import MinimalProfile
from archinstall.lib.interactions import suggest_single_disk_layout, select_devices
diff --git a/archinstall/tui/__init__.py b/archinstall/tui/__init__.py
index 802138dd8b..dbac535127 100644
--- a/archinstall/tui/__init__.py
+++ b/archinstall/tui/__init__.py
@@ -1,9 +1,9 @@
from .curses_menu import (
- tui, SelectMenu, EditMenu
+ tui, SelectMenu, EditMenu
)
from .menu_item import (
- MenuItem, MenuItemGroup
+ MenuItem, MenuItemGroup
)
from .types import (
diff --git a/archinstall/tui/table_menu.py b/archinstall/tui/table_menu.py
index 1d4053bc04..bfb3c65f44 100644
--- a/archinstall/tui/table_menu.py
+++ b/archinstall/tui/table_menu.py
@@ -1,11 +1,9 @@
-from typing import Any, Tuple, List, Dict, Optional, Callable
+from typing import Any, Tuple, List, Dict, Optional
from archinstall.lib.output import FormattedOutput
from . import (
- MenuItemGroup, MenuItem, SelectMenu,
- FrameProperties, FrameStyle, Alignment,
- ResultType
+ MenuItemGroup, MenuItem
)
diff --git a/docs/README.md b/docs/README.md
index 7ab47d2603..3c6dd64843 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -14,4 +14,4 @@ For other installation methods refer to the docs of the dependencies.
## Build
-In `archinstall/docs`, run `make html` (or specify another target) to build locally. The build files will be in `archinstall/docs/_build`. Open `_build/html/index.html` with your browser to see your changes in action.
\ No newline at end of file
+In `archinstall/docs`, run `make html` (or specify another target) to build locally. The build files will be in `archinstall/docs/_build`. Open `_build/html/index.html` with your browser to see your changes in action.
diff --git a/docs/_static/style.css b/docs/_static/style.css
index 579fe077d8..b07bdb1b51 100644
--- a/docs/_static/style.css
+++ b/docs/_static/style.css
@@ -1,3 +1,3 @@
.wy-nav-content {
max-width: none;
-}
\ No newline at end of file
+}
diff --git a/docs/_templates/layout.html b/docs/_templates/layout.html
index b0a4480600..3e44f4a314 100644
--- a/docs/_templates/layout.html
+++ b/docs/_templates/layout.html
@@ -1,4 +1,4 @@
{% extends "!layout.html" %}
{% block extrahead %}
-{% endblock %}
\ No newline at end of file
+{% endblock %}
diff --git a/docs/archinstall/plugins.rst b/docs/archinstall/plugins.rst
index 898f9006cc..1022ab6f6b 100644
--- a/docs/archinstall/plugins.rst
+++ b/docs/archinstall/plugins.rst
@@ -54,4 +54,4 @@ The simplest way currently is to look at a reference implementation or the commu
And search for `plugin.on_ `_ in the code base to find what ``archinstall`` will look for. PR's are welcome to widen the support for this.
.. _plugin discovery: https://packaging.python.org/en/latest/specifications/entry-points/
-.. _entry points: https://docs.python.org/3/library/importlib.metadata.html#entry-points
\ No newline at end of file
+.. _entry points: https://docs.python.org/3/library/importlib.metadata.html#entry-points
diff --git a/docs/cli_parameters/config/custom_commands.rst b/docs/cli_parameters/config/custom_commands.rst
index c1529020b0..291ea67808 100644
--- a/docs/cli_parameters/config/custom_commands.rst
+++ b/docs/cli_parameters/config/custom_commands.rst
@@ -19,4 +19,4 @@ The option takes a list of arguments, an example is:
| The following example will set a new hostname in the installed system.
| The example is just to illustrate that the command is not run in the ISO but inside the installed system after the base system is installed.
-More examples can be found in the code repository under `examples/ `_
\ No newline at end of file
+More examples can be found in the code repository under `examples/ `_
diff --git a/docs/cli_parameters/config/disk_encryption.rst b/docs/cli_parameters/config/disk_encryption.rst
index df2e2fa7b7..9be5e48087 100644
--- a/docs/cli_parameters/config/disk_encryption.rst
+++ b/docs/cli_parameters/config/disk_encryption.rst
@@ -16,4 +16,4 @@ Disk encryption consists of a top level entry in the user configuration.
}
}
-The ``UID`` in the ``partitions`` list is an internal reference to the ``obj_id`` in the :ref:`disk config` entries.
\ No newline at end of file
+The ``UID`` in the ``partitions`` list is an internal reference to the ``obj_id`` in the :ref:`disk config` entries.
diff --git a/docs/cli_parameters/config/manual_options.csv b/docs/cli_parameters/config/manual_options.csv
index 2fcc26f0c9..794c8997c1 100644
--- a/docs/cli_parameters/config/manual_options.csv
+++ b/docs/cli_parameters/config/manual_options.csv
@@ -1,4 +1,4 @@
Key,Value(s),Description,Required
device,``str``,Which block-device to format,yes
partitions,[ {key: val} ],The data describing the change/addition in a partition,yes
-wipe,``bool``,clear the disk before adding any partitions,No
\ No newline at end of file
+wipe,``bool``,clear the disk before adding any partitions,No
diff --git a/docs/flowcharts/BlockDeviceSelection.svg b/docs/flowcharts/BlockDeviceSelection.svg
index 33dd7f709b..7dd2b43979 100644
--- a/docs/flowcharts/BlockDeviceSelection.svg
+++ b/docs/flowcharts/BlockDeviceSelection.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/docs/flowcharts/DiskSelectionProcess.drawio b/docs/flowcharts/DiskSelectionProcess.drawio
index 7c8a1fcb1d..fb8a225f6f 100644
--- a/docs/flowcharts/DiskSelectionProcess.drawio
+++ b/docs/flowcharts/DiskSelectionProcess.drawio
@@ -1 +1 @@
-7VvZdqM4EP2anHlKDpsxPMZ20sl0kl7S05meNwVkYCIjt5C3+fqRjFgFNnbwksQv3a5CCKG6dWsROdP7o/knAsb+PXYhOtMUd36mD840TVUsi/3HNYtYY5tC4ZHAFYMyxWPwH0zuFNpJ4MKoMJBijGgwLiodHIbQoQUdIATPisOGGBWfOgYelBSPDkCy9ilwqR9rLa2b6W9g4PnJk1XTjq+MQDJYvEnkAxfPcir96kzvE4xp/Gs070PENy/Zl6fbxRO6ezE//fkt+g3+6n3+8fDzPJ7sepNb0lcgMKRbT/3y2bLtaXf4oFrf7ga/rYfB/dW5IV6NLpL9gi7bPiFiQn3s4RCgq0zbI3gSupDPqjIpG3OH8Vgo/4WULgQWwIRipvLpCImr7C3I4m8mKBedRPzFxUQYzAvSQkhDHNI+RpgsV6obpmF3BkwfUYJfYO5K17IuL3V+R4BQTt/T+vZlbzmve80upetxLznSmOggEEWBs5wUECoGKYmcDAtxyHcieoHU8cWAeCf59pWAt8ZqYlyEJ8SBK8bpwnkA8eCq+cwUmsynIR5BtoXsPgIRoMG0uDggnMtLx2UAYj8EhjaAqljkFKCJeNIjRNytNaWHsPMygNPAYXRQRt3MDyh8HIPlDswYExURwy0v4KSyl+t53EypYbj1E9/mo1NHVSS01gFiBYRqQLeZdaeQUDjP7b1soOSqKehG8K0lxFlGXmrCSH6OuAzl9SatpAhNMukDPrFGBUHskwzMhmSgKtVga50NKqEjs8GvCt8/IHbUA2HnbUScCpBp3mx4N50TtftTuRl3H7/9Y4fnmrGS0c6Vi65qCCw0Bp6Y7isOQpobgofDiC2mjMz0qduHLlMC69VoTPl7xCEswKEEXeLj0fOELa23JoAVQhJH1TUYBYjD7AaiKaSBAyrCHECBF3KMMHtCUh3r2COD0GOSmUk/lm7Bkru3H/7UbsP4Z7UQ/6rRXcNiCp9WU7YKhs6ETJdGkTOUgodvQXWbU1OdieE8oDnOZFJKmex3xphcSAhz2yBd4LpqSizxpiDEjFeVjVGZJ8Bq02sNw2y3koprQa5cqIZmv44QxVRGp+QvZskP4rWLu/Ll4f6YtSsza+iQxZg//Tsvn0/VQB1SOnrJvPahywHlSMqBd5nWJ02ztSlXZ13G9XqCaZUXKqGkSlA6VHmwx0j3YXBbPbCG7vbTnVJl8rqf8FY0g5Gm9AZ/yOg7Zfi7zvC1piFtdxm+Kpn9naTwbbt5coCzLjxZDfPhPbm9HGjSrjSb8HmZgvbTig6ELvsXj3nFD/jkI2ZdeupZN3dpQ99jlloJQLul1KJd723dS+tzw2N20srVqHKVuFVh8arucCGRy/K62qbFG7G0ah6VqTuSpftsv0AQ8q7aV5bGBpx6T7nY7olb7xxbLqbKzL1/GtjskOjgNGC1TQO5gxvdFj3Qo2gjVKfvbQX7nab0FWd5pYq98lCwXOQfvjJ4FQS140o6LAk5X5CbrwoUH/Cg5LBdhKHcqP64EQkQR6xU0/cYoAz14AHKOkWjlVSgNv02pemh2WaRh1EoWOQGjHkcinYRd1T5i4G0rRAfaynXtwhGi4jCkQSaU/eg7oxLb+rjO+seaHKFcmzpRFt5gAsiP11Wy0yQ7FrDD4iOJitI1p0/JuAtwNXV6RqHLgGgnA9sdiQkM0Cd3fO8sS8H3ucnqyvxlDPgbcjS7eWd/DMunuCNKvK57W0o2crSnnXTbGIrtwMt1yjZquCXzA70C0/tKN9hY5e21I0js6Xe1inxqbrbnsiblncJERwLkcv13VMwhrH/96q+PPq4Bd3OCKVUwXWMTjNG2VkFpx9dMve+2aN9Uqj+FNJUS3WEYRenqPkUsq16MHnP/LkGgoDwnIN3lUzEdrP3zGTT47/iwtA9F50mZqWKuHYipNazVaMBIRntEBITs78PjXGW/ZWtfvU/
\ No newline at end of file
+7VvZdqM4EP2anHlKDpsxPMZ20sl0kl7S05meNwVkYCIjt5C3+fqRjFgFNnbwksQv3a5CCKG6dWsROdP7o/knAsb+PXYhOtMUd36mD840TVUsi/3HNYtYY5tC4ZHAFYMyxWPwH0zuFNpJ4MKoMJBijGgwLiodHIbQoQUdIATPisOGGBWfOgYelBSPDkCy9ilwqR9rLa2b6W9g4PnJk1XTjq+MQDJYvEnkAxfPcir96kzvE4xp/Gs070PENy/Zl6fbxRO6ezE//fkt+g3+6n3+8fDzPJ7sepNb0lcgMKRbT/3y2bLtaXf4oFrf7ga/rYfB/dW5IV6NLpL9gi7bPiFiQn3s4RCgq0zbI3gSupDPqjIpG3OH8Vgo/4WULgQWwIRipvLpCImr7C3I4m8mKBedRPzFxUQYzAvSQkhDHNI+RpgsV6obpmF3BkwfUYJfYO5K17IuL3V+R4BQTt/T+vZlbzmve80upetxLznSmOggEEWBs5wUECoGKYmcDAtxyHcieoHU8cWAeCf59pWAt8ZqYlyEJ8SBK8bpwnkA8eCq+cwUmsynIR5BtoXsPgIRoMG0uDggnMtLx2UAYj8EhjaAqljkFKCJeNIjRNytNaWHsPMygNPAYXRQRt3MDyh8HIPlDswYExURwy0v4KSyl+t53EypYbj1E9/mo1NHVSS01gFiBYRqQLeZdaeQUDjP7b1soOSqKehG8K0lxFlGXmrCSH6OuAzl9SatpAhNMukDPrFGBUHskwzMhmSgKtVga50NKqEjs8GvCt8/IHbUA2HnbUScCpBp3mx4N50TtftTuRl3H7/9Y4fnmrGS0c6Vi65qCCw0Bp6Y7isOQpobgofDiC2mjMz0qduHLlMC69VoTPl7xCEswKEEXeLj0fOELa23JoAVQhJH1TUYBYjD7AaiKaSBAyrCHECBF3KMMHtCUh3r2COD0GOSmUk/lm7Bkru3H/7UbsP4Z7UQ/6rRXcNiCp9WU7YKhs6ETJdGkTOUgodvQXWbU1OdieE8oDnOZFJKmex3xphcSAhz2yBd4LpqSizxpiDEjFeVjVGZJ8Bq02sNw2y3koprQa5cqIZmv44QxVRGp+QvZskP4rWLu/Ll4f6YtSsza+iQxZg//Tsvn0/VQB1SOnrJvPahywHlSMqBd5nWJ02ztSlXZ13G9XqCaZUXKqGkSlA6VHmwx0j3YXBbPbCG7vbTnVJl8rqf8FY0g5Gm9AZ/yOg7Zfi7zvC1piFtdxm+Kpn9naTwbbt5coCzLjxZDfPhPbm9HGjSrjSb8HmZgvbTig6ELvsXj3nFD/jkI2ZdeupZN3dpQ99jlloJQLul1KJd723dS+tzw2N20srVqHKVuFVh8arucCGRy/K62qbFG7G0ah6VqTuSpftsv0AQ8q7aV5bGBpx6T7nY7olb7xxbLqbKzL1/GtjskOjgNGC1TQO5gxvdFj3Qo2gjVKfvbQX7nab0FWd5pYq98lCwXOQfvjJ4FQS140o6LAk5X5CbrwoUH/Cg5LBdhKHcqP64EQkQR6xU0/cYoAz14AHKOkWjlVSgNv02pemh2WaRh1EoWOQGjHkcinYRd1T5i4G0rRAfaynXtwhGi4jCkQSaU/eg7oxLb+rjO+seaHKFcmzpRFt5gAsiP11Wy0yQ7FrDD4iOJitI1p0/JuAtwNXV6RqHLgGgnA9sdiQkM0Cd3fO8sS8H3ucnqyvxlDPgbcjS7eWd/DMunuCNKvK57W0o2crSnnXTbGIrtwMt1yjZquCXzA70C0/tKN9hY5e21I0js6Xe1inxqbrbnsiblncJERwLkcv13VMwhrH/96q+PPq4Bd3OCKVUwXWMTjNG2VkFpx9dMve+2aN9Uqj+FNJUS3WEYRenqPkUsq16MHnP/LkGgoDwnIN3lUzEdrP3zGTT47/iwtA9F50mZqWKuHYipNazVaMBIRntEBITs78PjXGW/ZWtfvU/
diff --git a/docs/index.rst b/docs/index.rst
index 6a81bbb009..eff07b90c6 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -3,7 +3,7 @@ archinstall Documentation
| **archinstall** is library which can be used to install Arch Linux.
| The library comes packaged with different pre-configured installers, such as the default :ref:`guided` installer.
-|
+|
| A demo of the :ref:`guided` installer can be seen here: `https://www.youtube.com/watch?v=9Xt7X_Iqg6E `_.
Some of the features of Archinstall are:
diff --git a/docs/installing/guided.rst b/docs/installing/guided.rst
index 90abedb42c..0d37bb3581 100644
--- a/docs/installing/guided.rst
+++ b/docs/installing/guided.rst
@@ -269,7 +269,7 @@ Options for ``--creds``
{
"username": "",
"!password": "",
- "sudo": false
+ "sudo": false
}
- List of regular user credentials, see configuration for reference
- Maybe
diff --git a/docs/installing/python.rst b/docs/installing/python.rst
index edd55138c6..7ce07671d1 100644
--- a/docs/installing/python.rst
+++ b/docs/installing/python.rst
@@ -56,4 +56,4 @@ Or you can PyPa's `build `_ and `installer
-
diff --git a/examples/interactive_installation.py b/examples/interactive_installation.py
index 629d3af554..ece3e43043 100644
--- a/examples/interactive_installation.py
+++ b/examples/interactive_installation.py
@@ -9,6 +9,12 @@
from archinstall import models
from archinstall import locale
from archinstall import info, debug
+from archinstall import ConfigurationOutput
+from archinstall.tui.curses_menu import tui
+from archinstall.tui import (
+ MenuItemGroup, MenuItem, SelectMenu,
+ Alignment, Orientation
+)
if TYPE_CHECKING:
_: Callable[[str], str]
@@ -131,14 +137,14 @@ def perform_installation(mountpoint: Path) -> None:
if not archinstall.arguments.get('silent'):
prompt = str(_('Would you like to chroot into the newly created installation and perform post-installation configuration?')) + '\n'
- group = MenuItemGroup.default_confirm()
+ group = MenuItemGroup.yes_no()
result = SelectMenu(
group,
header=prompt,
alignment=Alignment.CENTER,
columns=2,
- orientation=MenuOrientation.HORIZONTAL
+ orientation=Orientation.HORIZONTAL
).single()
if result.item == MenuItem.yes():
diff --git a/examples/minimal_installation.py b/examples/minimal_installation.py
index 2447e509fe..72b380d7aa 100644
--- a/examples/minimal_installation.py
+++ b/examples/minimal_installation.py
@@ -8,6 +8,7 @@
from archinstall import models
from archinstall import interactions
from archinstall.default_profiles.minimal import MinimalProfile
+from archinstall.tui.curses_menu import tui
if TYPE_CHECKING:
_: Callable[[str], str]
diff --git a/examples/only_hd_installation.py b/examples/only_hd_installation.py
index 850e6ebff6..ffbad55724 100644
--- a/examples/only_hd_installation.py
+++ b/examples/only_hd_installation.py
@@ -2,6 +2,7 @@
import archinstall
from archinstall import Installer, disk, debug
+from archinstall.tui.curses_menu import tui
def ask_user_questions() -> None: