Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/profiles
diff options
context:
space:
mode:
Diffstat (limited to 'profiles')
-rw-r--r--profiles/applications/budgie.py4
-rw-r--r--profiles/applications/cinnamon.py3
-rw-r--r--profiles/applications/sway.py2
-rw-r--r--profiles/applications/xfce4.py3
-rw-r--r--profiles/budgie.py34
-rw-r--r--profiles/desktop.py2
-rw-r--r--profiles/i3-gaps.py17
-rw-r--r--profiles/i3-wm.py17
-rw-r--r--profiles/i3.py17
9 files changed, 50 insertions, 49 deletions
diff --git a/profiles/applications/budgie.py b/profiles/applications/budgie.py
new file mode 100644
index 00000000..8c5ea223
--- /dev/null
+++ b/profiles/applications/budgie.py
@@ -0,0 +1,4 @@
+import archinstall
+
+# "It is recommended also to install the gnome group, which contains applications required for the standard GNOME experience." - Arch Wiki
+installation.add_additional_packages("budgie-desktop lightdm lightdm-gtk-greeter lightdm-gtk-greeter-settings gnome") \ No newline at end of file
diff --git a/profiles/applications/cinnamon.py b/profiles/applications/cinnamon.py
new file mode 100644
index 00000000..5e2ac02e
--- /dev/null
+++ b/profiles/applications/cinnamon.py
@@ -0,0 +1,3 @@
+import archinstall
+
+installation.add_additional_packages("cinnamon system-config-printer gnome-keyring gnome-terminal blueberry metacity lightdm lightdm-gtk-greeter lightdm-gtk-greeter-settings") \ No newline at end of file
diff --git a/profiles/applications/sway.py b/profiles/applications/sway.py
index c99f378a..56d7f318 100644
--- a/profiles/applications/sway.py
+++ b/profiles/applications/sway.py
@@ -1,3 +1,3 @@
import archinstall
-packages = "sway swaylock swayidle dmenu alacritty"
+packages = "sway swaylock swayidle waybar dmenu light grim slurp pavucontrol alacritty"
installation.add_additional_packages(packages)
diff --git a/profiles/applications/xfce4.py b/profiles/applications/xfce4.py
new file mode 100644
index 00000000..809d10d0
--- /dev/null
+++ b/profiles/applications/xfce4.py
@@ -0,0 +1,3 @@
+import archinstall
+
+installation.add_additional_packages("xfce4 xfce4-goodies lightdm lightdm-gtk-greeter lightdm-gtk-greeter-settings") \ No newline at end of file
diff --git a/profiles/budgie.py b/profiles/budgie.py
new file mode 100644
index 00000000..6c5475ae
--- /dev/null
+++ b/profiles/budgie.py
@@ -0,0 +1,34 @@
+# A desktop environment using "budgie"
+
+import archinstall
+
+is_top_level_profile = False
+
+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.
+ """
+
+ # budgie 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')
+
+# Ensures that this code only gets executed if executed
+# through importlib.util.spec_from_file_location("budgie", "/somewhere/budgie.py")
+# or through conventional import budgie
+if __name__ == 'budgie':
+ # Install dependency profiles
+ installation.install_profile('xorg')
+
+ # Install the application budgie from the template under /applications/
+ budgie = archinstall.Application(installation, 'budgie')
+ budgie.install()
+
+ installation.enable_service('lightdm') # Light Display Manager
diff --git a/profiles/desktop.py b/profiles/desktop.py
index e2850da4..7b10f773 100644
--- a/profiles/desktop.py
+++ b/profiles/desktop.py
@@ -16,7 +16,7 @@ def _prep_function(*args, **kwargs):
for more input before any other installer steps start.
"""
- supported_desktops = ['gnome', 'kde', 'awesome', 'sway', 'cinnamon', 'xfce4', 'lxqt', 'i3']
+ supported_desktops = ['gnome', 'kde', 'awesome', 'sway', 'cinnamon', 'xfce4', 'lxqt', 'i3', 'budgie']
desktop = archinstall.generic_select(supported_desktops, 'Select your desired desktop environment: ')
# Temporarily store the selected desktop profile
diff --git a/profiles/i3-gaps.py b/profiles/i3-gaps.py
deleted file mode 100644
index ddca34b7..00000000
--- a/profiles/i3-gaps.py
+++ /dev/null
@@ -1,17 +0,0 @@
-import archinstall, subprocess
-
-is_top_level_profile = False
-
-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.
- """
- return True
-
-if __name__ == 'i3-gaps':
- # install the i3 group now
- i3 = archinstall.Application(installation, 'i3-gaps')
- i3.install()
diff --git a/profiles/i3-wm.py b/profiles/i3-wm.py
deleted file mode 100644
index 4a0415fc..00000000
--- a/profiles/i3-wm.py
+++ /dev/null
@@ -1,17 +0,0 @@
-import archinstall, subprocess
-
-is_top_level_profile = False
-
-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.
- """
- return True
-
-if __name__ == 'i3-wm':
- # install the i3 group now
- i3 = archinstall.Application(installation, 'i3-wm')
- i3.install()
diff --git a/profiles/i3.py b/profiles/i3.py
index 9f58e7eb..bc6dc2ca 100644
--- a/profiles/i3.py
+++ b/profiles/i3.py
@@ -22,7 +22,7 @@ def _prep_function(*args, **kwargs):
# Temporarily store the selected desktop profile
# in a session-safe location, since this module will get reloaded
# the next time it gets executed.
- archinstall.storage['_desktop_profile'] = desktop
+ archinstall.storage['_i3_configuration'] = desktop
# i3 requires a functioning Xorg installation.
profile = archinstall.Profile(None, 'xorg')
@@ -32,14 +32,6 @@ def _prep_function(*args, **kwargs):
else:
print('Deprecated (??): xorg profile has no _prep_function() anymore')
- profile = archinstall.Profile(None, desktop)
- # 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'):
- return imported._prep_function()
- else:
- print(f"Deprecated (??): {desktop} profile has no _prep_function() anymore")
-
if __name__ == 'i3':
"""
This "profile" is a meta-profile.
@@ -66,7 +58,6 @@ if __name__ == 'i3':
# Auto start lightdm for all users
installation.enable_service('lightdm')
- # TODO: Remove magic variable 'installation' and place it
- # in archinstall.storage or archinstall.session/archinstall.installation
- installation.install_profile(archinstall.storage['_desktop_profile'])
-
+ # install the i3 group now
+ i3 = archinstall.Application(installation, archinstall.storage['_i3_configuration'])
+ i3.install()