From 2aed8c6ad5a8ab31accb6d618bca4798591cf415 Mon Sep 17 00:00:00 2001 From: Yash Tripathi Date: Mon, 24 May 2021 19:23:08 +0530 Subject: removed builtins usage and added gfx_package key in config --- examples/guided.py | 7 +++++-- profiles/sway.py | 6 +++--- profiles/xorg.py | 8 ++++---- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/examples/guided.py b/examples/guided.py index 73fded4e..1f67a460 100644 --- a/examples/guided.py +++ b/examples/guided.py @@ -5,7 +5,7 @@ import time import archinstall from archinstall.lib.general import run_custom_user_commands -from archinstall.lib.hardware import has_uefi +from archinstall.lib.hardware import has_uefi, AVAILABLE_GFX_DRIVERS from archinstall.lib.networking import check_mirror_reachable from archinstall.lib.profiles import Profile @@ -450,5 +450,8 @@ else: archinstall.arguments['mirror-region'] = {selected_region: archinstall.list_mirrors()[selected_region]} archinstall.arguments['sys-language'] = archinstall.arguments.get('sys-language', 'en_US') archinstall.arguments['sys-encoding'] = archinstall.arguments.get('sys-encoding', 'utf-8') - + if archinstall.arguments.get('gfx_driver', None) is not None: + archinstall.storage['gfx_driver_packages'] = AVAILABLE_GFX_DRIVERS.get(archinstall.arguments.get('gfx_driver', None), None) + + perform_installation_steps() diff --git a/profiles/sway.py b/profiles/sway.py index 9afc047d..b0ff8c19 100644 --- a/profiles/sway.py +++ b/profiles/sway.py @@ -25,7 +25,7 @@ def _prep_function(*args, **kwargs): other code in this stage. So it's a safe way to ask the user for more input before any other installer steps start. """ - __builtins__["_gfx_driver_packages"] = archinstall.select_driver() + archinstall.storage["gfx_driver_packages"] = archinstall.select_driver() return True @@ -34,7 +34,7 @@ def _prep_function(*args, **kwargs): # through importlib.util.spec_from_file_location("sway", "/somewhere/sway.py") # or through conventional import sway if __name__ == "sway": - if "nvidia" in _gfx_driver_packages: + if "nvidia" in archinstall.storage.get("gfx_driver_packages", None): choice = input("The proprietary Nvidia driver is not supported by Sway. It is likely that you will run into issues. Continue anyways? [y/N] ") if choice.lower() in ("n", ""): raise archinstall.lib.exceptions.HardwareIncompatibilityError("Sway does not support the proprietary nvidia drivers.") @@ -43,4 +43,4 @@ if __name__ == "sway": archinstall.storage['installation_session'].add_additional_packages(__packages__) # Install the graphics driver packages - archinstall.storage['installation_session'].add_additional_packages(_gfx_driver_packages) + archinstall.storage['installation_session'].add_additional_packages(f"xorg-server xorg-xinit {' '.join(archinstall.storage.get('gfx_driver_packages', None))}") diff --git a/profiles/xorg.py b/profiles/xorg.py index b8fb2cbb..9006a430 100644 --- a/profiles/xorg.py +++ b/profiles/xorg.py @@ -22,7 +22,7 @@ def _prep_function(*args, **kwargs): for more input before any other installer steps start. """ - __builtins__['_gfx_driver_packages'] = archinstall.select_driver() + archinstall.storage["gfx_driver_packages"] = archinstall.select_driver() # TODO: Add language section and/or merge it with the locale selected # earlier in for instance guided.py installer. @@ -35,13 +35,13 @@ def _prep_function(*args, **kwargs): # or through conventional import xorg if __name__ == 'xorg': try: - if "nvidia" in _gfx_driver_packages: + if "nvidia" in archinstall.storage.get("gfx_driver_packages", None): if "linux-zen" in archinstall.storage['installation_session'].base_packages or "linux-lts" in archinstall.storage['installation_session'].base_packages: archinstall.storage['installation_session'].add_additional_packages("dkms") # I've had kernel regen fail if it wasn't installed before nvidia-dkms archinstall.storage['installation_session'].add_additional_packages("xorg-server xorg-xinit nvidia-dkms") else: - archinstall.storage['installation_session'].add_additional_packages(f"xorg-server xorg-xinit {' '.join(_gfx_driver_packages)}") + archinstall.storage['installation_session'].add_additional_packages(f"xorg-server xorg-xinit {' '.join(archinstall.storage.get('gfx_driver_packages', None))}") else: - archinstall.storage['installation_session'].add_additional_packages(f"xorg-server xorg-xinit {' '.join(_gfx_driver_packages)}") + archinstall.storage['installation_session'].add_additional_packages(f"xorg-server xorg-xinit {' '.join(archinstall.storage.get('gfx_driver_packages', None))}") except: archinstall.storage['installation_session'].add_additional_packages("xorg-server xorg-xinit") # Prep didn't run, so there's no driver to install -- cgit v1.2.3-70-g09d2