Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/profiles/gnome.py
diff options
context:
space:
mode:
authorAnton Hvornum <anton.feeds+github@gmail.com>2020-09-30 12:31:47 +0000
committerAnton Hvornum <anton.feeds+github@gmail.com>2020-09-30 12:31:47 +0000
commit534679e88f0b9db9d2550de73197f521494a3274 (patch)
tree90cc368ce9d7f576f5475f9a2a4e96b83de9d63e /profiles/gnome.py
parent7f7cb6b89b38f32beb411e112001e3230aa972ed (diff)
Added gnome as a profile (and application for application specific steps). Also tweaked xorg to not be so intrusive when used for anything other than awesome WM. Tweaked awesome WM to accomodate this change.
Diffstat (limited to 'profiles/gnome.py')
-rw-r--r--profiles/gnome.py35
1 files changed, 35 insertions, 0 deletions
diff --git a/profiles/gnome.py b/profiles/gnome.py
new file mode 100644
index 00000000..0481eded
--- /dev/null
+++ b/profiles/gnome.py
@@ -0,0 +1,35 @@
+# A desktop environemtn using "Awesome" window manager.
+
+import archinstall
+
+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.
+ """
+
+ # Gnome optionally supports xorg, we'll install it since it also
+ # includes graphic driver setups (this might change in the future)
+ 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("awesome", "/somewhere/awesome.py")
+# or through conventional import awesome
+if __name__ == 'awesome':
+ # Install dependency profiles
+ installation.install_profile('xorg')
+
+ # Install the application gnome from the template under /applications/
+ gnome = archinstall.Application(installation, 'gnome')
+ gnome.install()
+
+ installation.enable_service('gdm') # Gnome Display Manager
+ # We could also start it via xinitrc since we do have Xorg,
+ # but for gnome that's deprecated and wayland is preferred. \ No newline at end of file