Skip to content
Merged
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
3 changes: 0 additions & 3 deletions archinstall/lib/args.py
Original file line number Diff line number Diff line change
Expand Up @@ -549,6 +549,3 @@ def _cleanup_config(self, config: Namespace | dict[str, Any]) -> dict[str, Any]:
clean_args[key] = val

return clean_args


arch_config_handler: ArchConfigHandler = ArchConfigHandler()
6 changes: 4 additions & 2 deletions archinstall/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
import traceback
from pathlib import Path

from archinstall.lib.args import arch_config_handler
from archinstall.lib.args import ArchConfigHandler
from archinstall.lib.disk.utils import disk_layouts
from archinstall.lib.hardware import SysInfo
from archinstall.lib.network.wifi_handler import WifiHandler
Expand Down Expand Up @@ -78,6 +78,8 @@ def run() -> int:
OR straight as a module: python -m archinstall
In any case we will be attempting to load the provided script to be run from the scripts/ folder
"""
arch_config_handler = ArchConfigHandler()

if '--help' in sys.argv or '-h' in sys.argv:
arch_config_handler.print_help()
return 0
Expand Down Expand Up @@ -122,7 +124,7 @@ def run() -> int:
mod_name = f'archinstall.scripts.{script}'
# by loading the module we'll automatically run the script
module = importlib.import_module(mod_name)
module.main()
module.main(arch_config_handler)

return 0

Expand Down
22 changes: 14 additions & 8 deletions archinstall/scripts/guided.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
import os
import time
from pathlib import Path

from archinstall.lib.applications.application_handler import ApplicationHandler
from archinstall.lib.args import arch_config_handler
from archinstall.lib.args import ArchConfigHandler
from archinstall.lib.authentication.authentication_handler import AuthenticationHandler
from archinstall.lib.configuration import ConfigurationOutput
from archinstall.lib.disk.filesystem import FilesystemHandler
Expand All @@ -22,7 +21,10 @@
from archinstall.lib.translationhandler import tr


def show_menu(mirror_list_handler: MirrorListHandler) -> None:
def show_menu(
arch_config_handler: ArchConfigHandler,
mirror_list_handler: MirrorListHandler,
) -> None:
upgrade = check_version_upgrade()
title_text = 'Archlinux'

Expand All @@ -44,7 +46,7 @@ def show_menu(mirror_list_handler: MirrorListHandler) -> None:


def perform_installation(
mountpoint: Path,
arch_config_handler: ArchConfigHandler,
mirror_list_handler: MirrorListHandler,
auth_handler: AuthenticationHandler,
application_handler: ApplicationHandler,
Expand All @@ -57,6 +59,7 @@ def perform_installation(
start_time = time.monotonic()
info('Starting installation...')

mountpoint = arch_config_handler.args.mountpoint
config = arch_config_handler.config

if not config.disk_config:
Expand Down Expand Up @@ -188,14 +191,17 @@ def perform_installation(
pass


def main() -> None:
def main(arch_config_handler: ArchConfigHandler | None = None) -> None:
if arch_config_handler is None:
arch_config_handler = ArchConfigHandler()

mirror_list_handler = MirrorListHandler(
offline=arch_config_handler.args.offline,
verbose=arch_config_handler.args.verbose,
)

if not arch_config_handler.args.silent:
show_menu(mirror_list_handler)
show_menu(arch_config_handler, mirror_list_handler)

config = ConfigurationOutput(arch_config_handler.config)
config.write_debug()
Expand All @@ -211,14 +217,14 @@ def main() -> None:
aborted = True

if aborted:
return main()
return main(arch_config_handler)

if arch_config_handler.config.disk_config:
fs_handler = FilesystemHandler(arch_config_handler.config.disk_config)
fs_handler.perform_filesystem_operations()

perform_installation(
arch_config_handler.args.mountpoint,
arch_config_handler,
mirror_list_handler,
AuthenticationHandler(),
ApplicationHandler(),
Expand Down
16 changes: 9 additions & 7 deletions archinstall/scripts/minimal.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
from pathlib import Path

from archinstall.default_profiles.minimal import MinimalProfile
from archinstall.lib.args import arch_config_handler
from archinstall.lib.args import ArchConfigHandler
from archinstall.lib.configuration import ConfigurationOutput
from archinstall.lib.disk.disk_menu import DiskLayoutConfigurationMenu
from archinstall.lib.disk.filesystem import FilesystemHandler
Expand All @@ -14,7 +12,8 @@
from archinstall.lib.profile.profiles_handler import profile_handler


def perform_installation(mountpoint: Path) -> None:
def perform_installation(arch_config_handler: ArchConfigHandler) -> None:
mountpoint = arch_config_handler.args.mountpoint
config = arch_config_handler.config

if not config.disk_config:
Expand Down Expand Up @@ -59,7 +58,10 @@ def perform_installation(mountpoint: Path) -> None:
info(' * devel (password: devel)')


def main() -> None:
def main(arch_config_handler: ArchConfigHandler | None = None) -> None:
if arch_config_handler is None:
arch_config_handler = ArchConfigHandler()

disk_config = DiskLayoutConfigurationMenu(disk_layout_config=None).run()
arch_config_handler.config.disk_config = disk_config

Expand All @@ -77,13 +79,13 @@ def main() -> None:
aborted = True

if aborted:
return main()
return main(arch_config_handler)

if arch_config_handler.config.disk_config:
fs_handler = FilesystemHandler(arch_config_handler.config.disk_config)
fs_handler.perform_filesystem_operations()

perform_installation(arch_config_handler.args.mountpoint)
perform_installation(arch_config_handler)


if __name__ == '__main__':
Expand Down
18 changes: 11 additions & 7 deletions archinstall/scripts/only_hd.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from pathlib import Path

from archinstall.lib.args import arch_config_handler
from archinstall.lib.args import ArchConfigHandler
from archinstall.lib.configuration import ConfigurationOutput
from archinstall.lib.disk.filesystem import FilesystemHandler
from archinstall.lib.disk.utils import disk_layouts
Expand All @@ -9,7 +9,7 @@
from archinstall.lib.output import debug, error


def show_menu() -> None:
def show_menu(arch_config_handler: ArchConfigHandler) -> None:
global_menu = GlobalMenu(arch_config_handler.config)
global_menu.disable_all()

Expand All @@ -21,12 +21,13 @@ def show_menu() -> None:
global_menu.run()


def perform_installation(mountpoint: Path) -> None:
def perform_installation(arch_config_handler: ArchConfigHandler) -> None:
"""
Performs the installation steps on a block device.
Only requirement is that the block devices are
formatted and setup prior to entering this function.
"""
mountpoint = arch_config_handler.args.mountpoint
config = arch_config_handler.config

if not config.disk_config:
Expand Down Expand Up @@ -55,9 +56,12 @@ def perform_installation(mountpoint: Path) -> None:
debug(f'Disk states after installing:\n{disk_layouts()}')


def main() -> None:
def main(arch_config_handler: ArchConfigHandler | None = None) -> None:
if arch_config_handler is None:
arch_config_handler = ArchConfigHandler()

if not arch_config_handler.args.silent:
show_menu()
show_menu(arch_config_handler)

config = ConfigurationOutput(arch_config_handler.config)
config.write_debug()
Expand All @@ -73,13 +77,13 @@ def main() -> None:
aborted = True

if aborted:
return main()
return main(arch_config_handler)

if arch_config_handler.config.disk_config:
fs_handler = FilesystemHandler(arch_config_handler.config.disk_config)
fs_handler.perform_filesystem_operations()

perform_installation(arch_config_handler.args.mountpoint)
perform_installation(arch_config_handler)


if __name__ == '__main__':
Expand Down