Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion archinstall/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
from .lib.plugins import plugin
from archinstall.lib.plugins import plugin

__all__ = ['plugin']
2 changes: 1 addition & 1 deletion archinstall/default_profiles/profile.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
from archinstall.lib.translationhandler import tr

if TYPE_CHECKING:
from ..lib.installer import Installer
from archinstall.lib.installer import Installer


class ProfileType(Enum):
Expand Down
8 changes: 4 additions & 4 deletions archinstall/lib/boot.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@
from types import TracebackType
from typing import TYPE_CHECKING, ClassVar, Self

from .command import SysCommand, SysCommandWorker, locate_binary
from .exceptions import SysCallError
from .output import error
from archinstall.lib.command import SysCommand, SysCommandWorker, locate_binary
from archinstall.lib.exceptions import SysCallError
from archinstall.lib.output import error

if TYPE_CHECKING:
from .installer import Installer
from archinstall.lib.installer import Installer


class Boot:
Expand Down
9 changes: 4 additions & 5 deletions archinstall/lib/bootloader/bootloader_menu.py
Original file line number Diff line number Diff line change
@@ -1,16 +1,15 @@
import textwrap
from typing import override

from archinstall.lib.args import arch_config_handler
from archinstall.lib.hardware import SysInfo
from archinstall.lib.menu.abstract_menu import AbstractSubMenu
from archinstall.lib.menu.helpers import Confirmation, Selection
from archinstall.lib.models.bootloader import Bootloader, BootloaderConfiguration
from archinstall.lib.translationhandler import tr
from archinstall.tui.ui.menu_item import MenuItem, MenuItemGroup
from archinstall.tui.ui.result import ResultType

from ..args import arch_config_handler
from ..hardware import SysInfo
from ..menu.abstract_menu import AbstractSubMenu
from ..models.bootloader import Bootloader, BootloaderConfiguration


class BootloaderMenu(AbstractSubMenu[BootloaderConfiguration]):
def __init__(
Expand Down
11 changes: 5 additions & 6 deletions archinstall/lib/configuration.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,16 @@
import stat
from pathlib import Path

from archinstall.lib.args import ArchConfig
from archinstall.lib.crypt import encrypt
from archinstall.lib.general import JSON, UNSAFE_JSON
from archinstall.lib.menu.helpers import Confirmation, Selection
from archinstall.lib.output import debug, logger, warn
from archinstall.lib.translationhandler import tr
from archinstall.lib.utils.util import get_password, prompt_dir
from archinstall.tui.ui.menu_item import MenuItem, MenuItemGroup
from archinstall.tui.ui.result import ResultType

from .args import ArchConfig
from .crypt import encrypt
from .general import JSON, UNSAFE_JSON
from .output import debug, logger, warn
from .utils.util import get_password, prompt_dir


class ConfigurationOutput:
def __init__(self, config: ArchConfig):
Expand Down
2 changes: 1 addition & 1 deletion archinstall/lib/crypt.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
from cryptography.fernet import Fernet, InvalidToken
from cryptography.hazmat.primitives.kdf.argon2 import Argon2id

from .output import debug
from archinstall.lib.output import debug

libcrypt = ctypes.CDLL('libcrypt.so')

Expand Down
21 changes: 8 additions & 13 deletions archinstall/lib/disk/device_handler.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,11 @@

from parted import Device, Disk, DiskException, FileSystem, Geometry, IOException, Partition, PartitionException, freshDisk, getAllDevices, getDevice, newDisk

from ..command import SysCommand, SysCommandWorker
from ..exceptions import DiskError, SysCallError, UnknownFilesystemFormat
from ..luks import Luks2
from ..models.device import (
from archinstall.lib.command import SysCommand, SysCommandWorker
from archinstall.lib.disk.utils import find_lsblk_info, get_all_lsblk_info, get_lsblk_info, umount
from archinstall.lib.exceptions import DiskError, SysCallError, UnknownFilesystemFormat
from archinstall.lib.luks import Luks2
from archinstall.lib.models.device import (
DEFAULT_ITER_TIME,
BDevice,
BtrfsMountOption,
Expand All @@ -37,15 +38,9 @@
_DeviceInfo,
_PartitionInfo,
)
from ..models.users import Password
from ..output import debug, error, info, log
from ..utils.util import is_subpath
from .utils import (
find_lsblk_info,
get_all_lsblk_info,
get_lsblk_info,
umount,
)
from archinstall.lib.models.users import Password
from archinstall.lib.output import debug, error, info, log
from archinstall.lib.utils.util import is_subpath


class DeviceHandler:
Expand Down
7 changes: 3 additions & 4 deletions archinstall/lib/disk/disk_menu.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
from typing import override

from archinstall.lib.disk.encryption_menu import DiskEncryptionMenu
from archinstall.lib.interactions.disk_conf import select_disk_config, select_lvm_config
from archinstall.lib.menu.abstract_menu import AbstractSubMenu
from archinstall.lib.menu.helpers import Selection
from archinstall.lib.models.device import (
DEFAULT_ITER_TIME,
Expand All @@ -14,14 +16,11 @@
SnapshotConfig,
SnapshotType,
)
from archinstall.lib.output import FormattedOutput
from archinstall.lib.translationhandler import tr
from archinstall.tui.ui.menu_item import MenuItem, MenuItemGroup
from archinstall.tui.ui.result import ResultType

from ..interactions.disk_conf import select_disk_config, select_lvm_config
from ..menu.abstract_menu import AbstractSubMenu
from ..output import FormattedOutput


@dataclass
class DiskMenuConfig:
Expand Down
14 changes: 7 additions & 7 deletions archinstall/lib/disk/encryption_menu.py
Original file line number Diff line number Diff line change
@@ -1,27 +1,27 @@
from pathlib import Path
from typing import override

from archinstall.lib.disk.fido import Fido2
from archinstall.lib.menu.abstract_menu import AbstractSubMenu
from archinstall.lib.menu.helpers import Input, Selection, Table
from archinstall.lib.menu.menu_helper import MenuHelper
from archinstall.lib.models.device import (
DEFAULT_ITER_TIME,
DeviceModification,
DiskEncryption,
EncryptionType,
Fido2Device,
LvmConfiguration,
LvmVolume,
PartitionModification,
)
from archinstall.lib.models.users import Password
from archinstall.lib.output import FormattedOutput
from archinstall.lib.translationhandler import tr
from archinstall.lib.utils.util import get_password
from archinstall.tui.ui.menu_item import MenuItem, MenuItemGroup
from archinstall.tui.ui.result import ResultType

from ..menu.abstract_menu import AbstractSubMenu
from ..models.device import DEFAULT_ITER_TIME, Fido2Device
from ..models.users import Password
from ..output import FormattedOutput
from ..utils.util import get_password
from .fido import Fido2


class DiskEncryptionMenu(AbstractSubMenu[DiskEncryption]):
def __init__(
Expand Down
9 changes: 4 additions & 5 deletions archinstall/lib/disk/fido.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,13 @@
from pathlib import Path
from typing import ClassVar

from archinstall.lib.command import SysCommand, SysCommandWorker
from archinstall.lib.exceptions import SysCallError
from archinstall.lib.models.device import Fido2Device
from archinstall.lib.models.users import Password
from archinstall.lib.output import error, info
from archinstall.lib.utils.encoding import clear_vt100_escape_codes_from_str

from ..command import SysCommand, SysCommandWorker
from ..exceptions import SysCallError
from ..models.users import Password
from ..output import error, info


class Fido2:
_loaded_cryptsetup: bool = False
Expand Down
13 changes: 6 additions & 7 deletions archinstall/lib/disk/filesystem.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,10 @@
import time
from pathlib import Path

from archinstall.lib.translationhandler import tr

from ..interactions.general_conf import confirm_abort
from ..luks import Luks2
from ..models.device import (
from archinstall.lib.disk.device_handler import device_handler
from archinstall.lib.interactions.general_conf import confirm_abort
from archinstall.lib.luks import Luks2
from archinstall.lib.models.device import (
DiskEncryption,
DiskLayoutConfiguration,
DiskLayoutType,
Expand All @@ -20,8 +19,8 @@
Size,
Unit,
)
from ..output import debug, info
from .device_handler import device_handler
from archinstall.lib.output import debug, info
from archinstall.lib.translationhandler import tr


class FilesystemHandler:
Expand Down
11 changes: 5 additions & 6 deletions archinstall/lib/disk/partitioning_menu.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@
from pathlib import Path
from typing import override

from archinstall.lib.disk.subvolume_menu import SubvolumeMenu
from archinstall.lib.menu.helpers import Confirmation, Input, Selection
from archinstall.lib.menu.list_manager import ListManager
from archinstall.lib.models.device import (
BtrfsMountOption,
DeviceModification,
Expand All @@ -16,15 +18,12 @@
Size,
Unit,
)
from archinstall.lib.output import FormattedOutput
from archinstall.lib.translationhandler import tr
from archinstall.lib.utils.util import prompt_dir
from archinstall.tui.ui.menu_item import MenuItem, MenuItemGroup
from archinstall.tui.ui.result import ResultType

from ..menu.list_manager import ListManager
from ..output import FormattedOutput
from ..utils.util import prompt_dir
from .subvolume_menu import SubvolumeMenu


class FreeSpace:
def __init__(self, start: Size, end: Size) -> None:
Expand Down Expand Up @@ -566,7 +565,7 @@ def _suggest_partition_layout(
if not self._reset_confirmation():
return None

from ..interactions.disk_conf import suggest_single_disk_layout
from archinstall.lib.interactions.disk_conf import suggest_single_disk_layout

return suggest_single_disk_layout(self._device)

Expand Down
5 changes: 2 additions & 3 deletions archinstall/lib/disk/subvolume_menu.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,12 @@
from typing import assert_never, override

from archinstall.lib.menu.helpers import Input
from archinstall.lib.menu.list_manager import ListManager
from archinstall.lib.models.device import SubvolumeModification
from archinstall.lib.translationhandler import tr
from archinstall.lib.utils.util import prompt_dir
from archinstall.tui.ui.result import ResultType

from ..menu.list_manager import ListManager
from ..utils.util import prompt_dir


class SubvolumeMenu(ListManager[SubvolumeModification]):
def __init__(
Expand Down
3 changes: 1 addition & 2 deletions archinstall/lib/general.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,9 @@
from pathlib import Path
from typing import Any, override

from archinstall.lib.output import debug
from archinstall.lib.packages.packages import check_package_upgrade

from .output import debug


@lru_cache(maxsize=128)
def check_version_upgrade() -> str | None:
Expand Down
50 changes: 22 additions & 28 deletions archinstall/lib/global_menu.py
Original file line number Diff line number Diff line change
@@ -1,40 +1,34 @@
import sys
from typing import override

from archinstall.lib.applications.application_menu import ApplicationMenu
from archinstall.lib.args import ArchConfig
from archinstall.lib.authentication.authentication_menu import AuthenticationMenu
from archinstall.lib.bootloader.bootloader_menu import BootloaderMenu
from archinstall.lib.configuration import save_config
from archinstall.lib.disk.disk_menu import DiskLayoutConfigurationMenu
from archinstall.lib.hardware import SysInfo
from archinstall.lib.interactions.general_conf import add_number_of_parallel_downloads, select_hostname, select_ntp, select_timezone
from archinstall.lib.interactions.system_conf import select_kernel, select_swap
from archinstall.lib.locale.locale_menu import LocaleMenu
from archinstall.lib.menu.abstract_menu import CONFIG_KEY, AbstractMenu
from archinstall.lib.mirrors import MirrorListHandler, MirrorMenu
from archinstall.lib.models.application import ApplicationConfiguration, ZramConfiguration
from archinstall.lib.models.authentication import AuthenticationConfiguration
from archinstall.lib.models.bootloader import Bootloader, BootloaderConfiguration
from archinstall.lib.models.device import DiskLayoutConfiguration, DiskLayoutType, FilesystemType, PartitionModification
from archinstall.lib.models.locale import LocaleConfiguration
from archinstall.lib.models.mirrors import MirrorConfiguration
from archinstall.lib.models.network import NetworkConfiguration, NicType
from archinstall.lib.models.packages import Repository
from archinstall.lib.models.profile import ProfileConfiguration
from archinstall.lib.network.network_menu import select_network
from archinstall.lib.output import FormattedOutput
from archinstall.lib.packages.packages import list_available_packages, select_additional_packages
from archinstall.lib.pacman.config import PacmanConfig
from archinstall.lib.translationhandler import Language, tr, translation_handler
from archinstall.tui.ui.menu_item import MenuItem, MenuItemGroup

from .applications.application_menu import ApplicationMenu
from .args import ArchConfig
from .authentication.authentication_menu import AuthenticationMenu
from .bootloader.bootloader_menu import BootloaderMenu
from .configuration import save_config
from .hardware import SysInfo
from .interactions.general_conf import (
add_number_of_parallel_downloads,
select_hostname,
select_ntp,
select_timezone,
)
from .interactions.system_conf import select_kernel, select_swap
from .locale.locale_menu import LocaleMenu
from .menu.abstract_menu import CONFIG_KEY, AbstractMenu
from .mirrors import MirrorListHandler, MirrorMenu
from .models.bootloader import Bootloader, BootloaderConfiguration
from .models.locale import LocaleConfiguration
from .models.mirrors import MirrorConfiguration
from .models.network import NetworkConfiguration, NicType
from .models.packages import Repository
from .models.profile import ProfileConfiguration
from .output import FormattedOutput
from .pacman.config import PacmanConfig
from .translationhandler import Language, tr, translation_handler


class GlobalMenu(AbstractMenu[None]):
def __init__(
Expand Down Expand Up @@ -236,7 +230,7 @@ def _is_config_valid(self) -> bool:
return self._validate_bootloader() is None

def _select_archinstall_language(self, preset: Language) -> Language:
from .interactions.general_conf import select_archinstall_language
from archinstall.lib.interactions.general_conf import select_archinstall_language

language = select_archinstall_language(translation_handler.translated_languages, preset)
translation_handler.activate(language)
Expand Down Expand Up @@ -535,7 +529,7 @@ def _select_bootloader_config(
return bootloader_config

def _select_profile(self, current_profile: ProfileConfiguration | None) -> ProfileConfiguration | None:
from .profile.profile_menu import ProfileMenu
from archinstall.lib.profile.profile_menu import ProfileMenu

profile_config = ProfileMenu(preset=current_profile).run()
return profile_config
Expand Down
10 changes: 5 additions & 5 deletions archinstall/lib/hardware.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@
from pathlib import Path
from typing import Self

from .command import SysCommand
from .exceptions import SysCallError
from .networking import enrich_iface_types, list_interfaces
from .output import debug
from .translationhandler import tr
from archinstall.lib.command import SysCommand
from archinstall.lib.exceptions import SysCallError
from archinstall.lib.networking import enrich_iface_types, list_interfaces
from archinstall.lib.output import debug
from archinstall.lib.translationhandler import tr


class CpuVendor(Enum):
Expand Down
Loading