From e26a007ad97991a616b51af587d42a7156851a33 Mon Sep 17 00:00:00 2001 From: JakobDev Date: Mon, 7 Jun 2021 14:07:38 +0200 Subject: Add Cutefish profile --- profiles/cutefish.py | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ profiles/desktop.py | 1 + 2 files changed, 52 insertions(+) create mode 100644 profiles/cutefish.py (limited to 'profiles') diff --git a/profiles/cutefish.py b/profiles/cutefish.py new file mode 100644 index 00000000..b30dec27 --- /dev/null +++ b/profiles/cutefish.py @@ -0,0 +1,51 @@ +# A desktop environment using "Cutefish" + +import archinstall + +is_top_level_profile = False + +__packages__ = [ + "cutefish-core", + "cutefish-dock", + "cutefish-filemanager", + "cutefish-icons", + "cutefish-kwin-plugins", + "cutefish-launcher", + "cutefish-qt-plugins", + "cutefish-settings", + "cutefish-statusbar", + "cutefish-wallpapers", + "cutefish-calculator", + "konsole", + "sddm" +] + + +def _prep_function(*args, **kwargs): + """ + Magic function called by the importing installer + before continuing any further. It also avoids executing any + other code in this stage. So it's a safe way to ask the user + for more input before any other installer steps start. + """ + + # Cutefish requires a functional xorg installation. + profile = archinstall.Profile(None, "xorg") + with profile.load_instructions(namespace="xorg.py") as imported: + if hasattr(imported, "_prep_function"): + return imported._prep_function() + else: + print("Deprecated (??): xorg profile has no _prep_function() anymore") + + +# Ensures that this code only gets executed if executed +# through importlib.util.spec_from_file_location("cutefish", "/somewhere/cutefish.py") +# or through conventional import cutefish +if __name__ == "cutefish": + # Install dependency profiles + archinstall.storage["installation_session"].install_profile("xorg") + + # Install the Cutefish packages + archinstall.storage["installation_session"].add_additional_packages(__packages__) + + archinstall.storage["installation_session"].enable_service("sddm") diff --git a/profiles/desktop.py b/profiles/desktop.py index 73df9256..75440613 100644 --- a/profiles/desktop.py +++ b/profiles/desktop.py @@ -43,6 +43,7 @@ def _prep_function(*args, **kwargs): 'mate', 'deepin', 'enlightenment', + 'cutefish' ] desktop = archinstall.generic_select(supported_desktops, 'Select your desired desktop environment: ', allow_empty_input=False, sort=True) -- cgit v1.2.3-70-g09d2