From a73f0b0135f484079f88b9a242bf3b3c5bb1dda4 Mon Sep 17 00:00:00 2001 From: Anton Hvornum Date: Sun, 18 Oct 2020 12:28:12 +0200 Subject: Added a session-storag. This is in an attempt to build away some magic functionality that might otherwise be hard to understand/maintain over a long period of time. Using this in profiles/desktop.py as a test. --- profiles/dekstop.py | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) (limited to 'profiles') diff --git a/profiles/dekstop.py b/profiles/dekstop.py index d9e88eb1..e2d83169 100644 --- a/profiles/dekstop.py +++ b/profiles/dekstop.py @@ -13,6 +13,11 @@ def _prep_function(*args, **kwargs): supported_desktops = ['gnome', 'kde', 'awesome'] dektop = archinstall.generic_select(supported_desktops, 'Select your desired desktop environemtn: ') + # Temporarly store the selected desktop profile + # in a session-safe location, since this module will get re-loaded + # the next time it gets executed. + archinstall.storage['_desktop_profile'] = desktop + profile = archinstall.Profile(None, dektop) # Loading the instructions with a custom namespace, ensures that a __name__ comparison is never triggered. with profile.load_instructions(namespace=f"{dektop}.py") as imported: @@ -22,11 +27,19 @@ def _prep_function(*args, **kwargs): print(f"Deprecated (??): {dektop} profile has no _prep_function() anymore") if __name__ == 'desktop': - print('The desktop.py profile should never be executed as a stand-alone.') - """ This "profile" is a meta-profile. - It will not return itself, there for this __name__ will never - be executed. Instead, whatever profile was selected will have - it's handle returned and that __name__ will be executed later on. - """ \ No newline at end of file + There are no specific desktop-steps, it simply routes + the installer to whichever desktop environment/window manager was chosen. + + Maybe in the future, a network manager or similar things *could* be added here. + We should honor that Arch Linux does not officially endorse a desktop-setup, nor is + it trying to be a turn-key desktop distribution. + + There are plenty of desktop-turn-key-solutions based on Arch Linux, + this is therefor just a helper to get started + """ + + # TODO: Remove magic variable 'installation' and place it + # in archinstall.storage or archinstall.session/archinstall.installation + installation.install_profile(archinstall.storage['_desktop_profile']) \ No newline at end of file -- cgit v1.2.3-54-g00ecf