Setting proper keys in exported config (#557)
* Set the resolved profile path to the actual desktop environment * split Nvidia driver list into proprietary and open-source * Updated select_driver to use archinstall.arguments for driver selection * Adding default value that works with later .get() * audio will now be prompted irrespective of profile
This commit is contained in:
parent
4e17355796
commit
d30a22cae3
|
|
@ -16,7 +16,7 @@ from .locale_helpers import list_keyboard_languages, verify_keyboard_layout, sea
|
|||
from .networking import list_interfaces
|
||||
from .output import log
|
||||
from .profiles import Profile, list_profiles
|
||||
|
||||
from .storage import *
|
||||
|
||||
# TODO: Some inconsistencies between the selection processes.
|
||||
# Some return the keys from the options, some the values?
|
||||
|
|
@ -700,9 +700,9 @@ def select_driver(options=AVAILABLE_GFX_DRIVERS):
|
|||
"""
|
||||
|
||||
drivers = sorted(list(options))
|
||||
default_option = options["All open-source (default)"]
|
||||
|
||||
|
||||
if drivers:
|
||||
arguments = storage.get('arguments', {})
|
||||
if has_amd_graphics():
|
||||
print('For the best compatibility with your AMD hardware, you may want to use either the all open-source or AMD / ATI options.')
|
||||
if has_intel_graphics():
|
||||
|
|
@ -710,22 +710,12 @@ def select_driver(options=AVAILABLE_GFX_DRIVERS):
|
|||
if has_nvidia_graphics():
|
||||
print('For the best compatibility with your Nvidia hardware, you may want to use the Nvidia proprietary driver.')
|
||||
|
||||
initial_option = generic_select(drivers, input_text="Select your graphics card driver: ")
|
||||
|
||||
if not initial_option:
|
||||
return default_option
|
||||
|
||||
selected_driver = options[initial_option]
|
||||
|
||||
if type(selected_driver) == dict:
|
||||
driver_options = sorted(list(selected_driver))
|
||||
|
||||
driver_package_group = generic_select(driver_options, f'Which driver-type do you want for {initial_option}: ', allow_empty_input=False)
|
||||
driver_package_group = selected_driver[driver_package_group]
|
||||
|
||||
return driver_package_group
|
||||
|
||||
return selected_driver
|
||||
arguments['gfx_driver'] = generic_select(drivers, input_text="Select your graphics card driver: ")
|
||||
|
||||
if arguments.get('gfx_driver', None) is None:
|
||||
arguments['gfx_driver'] = "All open-source (default)"
|
||||
|
||||
return options.get(arguments.get('gfx_driver'))
|
||||
|
||||
raise RequirementError("Selecting drivers require a least one profile to be given as an option.")
|
||||
|
||||
|
|
|
|||
|
|
@ -54,6 +54,8 @@ def _prep_function(*args, **kwargs):
|
|||
archinstall.storage['_desktop_profile'] = desktop
|
||||
|
||||
profile = archinstall.Profile(None, desktop)
|
||||
# Set the resolved profile path to the actual desktop environment
|
||||
archinstall.arguments['profile'] = profile
|
||||
# Loading the instructions with a custom namespace, ensures that a __name__ comparison is never triggered.
|
||||
with profile.load_instructions(namespace=f"{desktop}.py") as imported:
|
||||
if hasattr(imported, '_prep_function'):
|
||||
|
|
|
|||
Loading…
Reference in New Issue