Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--examples/guided.py8
-rw-r--r--profiles/applications/i3-gaps.py2
-rw-r--r--profiles/applications/i3-wm.py2
-rw-r--r--profiles/i3-gaps.py28
-rw-r--r--profiles/i3-wm.py28
5 files changed, 66 insertions, 2 deletions
diff --git a/examples/guided.py b/examples/guided.py
index eba6e142..e58228fd 100644
--- a/examples/guided.py
+++ b/examples/guided.py
@@ -1,4 +1,4 @@
-import getpass, time, json, sys, signal, os
+import getpass, time, json, sys, signal, os, subprocess
import archinstall
from archinstall.lib.hardware import hasUEFI
@@ -347,7 +347,11 @@ def perform_installation(device, boot_partition, language, mirrors):
if (root_pw := archinstall.arguments.get('!root-password', None)) and len(root_pw):
installation.user_set_pw('root', root_pw)
-
+ if archinstall.arguments.get('profile', None) == "i3-wm" or archinstall.arguments.get('profile', None) == "i3-gaps":
+ print("the installation of i3/i3-gaps does not conatain any configuerations for the wm. in this shell you should add your configuerations")
+ subprocess.check_call("arch-chroot /mnt")
ask_user_questions()
perform_installation_steps()
+
+ \ No newline at end of file
diff --git a/profiles/applications/i3-gaps.py b/profiles/applications/i3-gaps.py
new file mode 100644
index 00000000..4dd95989
--- /dev/null
+++ b/profiles/applications/i3-gaps.py
@@ -0,0 +1,2 @@
+import archinstall
+installation.add_additional_packages("i3lock i3status i3blocks i3-gaps") \ No newline at end of file
diff --git a/profiles/applications/i3-wm.py b/profiles/applications/i3-wm.py
new file mode 100644
index 00000000..8662497d
--- /dev/null
+++ b/profiles/applications/i3-wm.py
@@ -0,0 +1,2 @@
+import archinstall
+installation.add_additional_packages("i3lock i3status i3blocks i3-wm") \ No newline at end of file
diff --git a/profiles/i3-gaps.py b/profiles/i3-gaps.py
new file mode 100644
index 00000000..bf8227ba
--- /dev/null
+++ b/profiles/i3-gaps.py
@@ -0,0 +1,28 @@
+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.
+ """
+
+ # KDE requires a functioning 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')
+
+if __name__ == 'i3-wm':
+ # Install dependency profiles
+ installation.install_profile('xorg')
+ # gaps is installed by deafult so we are overriding it here
+ installation.add_additional_packages("lightdm-gtk-greeter lightdm")
+ # install the i3 group now
+ i3 = archinstall.Application(installation, 'i3-gaps')
+ i3.install()
+ # Auto start lightdm for all users
+ installation.enable_service('lightdm')
diff --git a/profiles/i3-wm.py b/profiles/i3-wm.py
new file mode 100644
index 00000000..168abb72
--- /dev/null
+++ b/profiles/i3-wm.py
@@ -0,0 +1,28 @@
+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.
+ """
+
+ # KDE requires a functioning 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')
+
+if __name__ == 'i3-wm':
+ # Install dependency profiles
+ installation.install_profile('xorg')
+ # we are installing lightdm to auto start i3
+ installation.add_additional_packages("lightdm-gtk-greeter lightdm")
+ # install the i3 group now
+ i3 = archinstall.Application(installation, 'i3-wm')
+ i3.install()
+ # Auto start lightdm for all users
+ installation.enable_service('lightdm') \ No newline at end of file