Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/archinstall/default_profiles
diff options
context:
space:
mode:
authorDaniel Girtler <girtler.daniel@gmail.com>2024-03-08 00:43:51 +1100
committerGitHub <noreply@github.com>2024-03-07 14:43:51 +0100
commit08a6d402c4792cae95aec196460dc67aadd86f3c (patch)
treea646e7f2366387750208bbd25d4e06b0f191d9d3 /archinstall/default_profiles
parentf927fb6e6a17123c05c6595bbdb45ed771596ab9 (diff)
Fix 2215 | Display installed packages for all profile submenus (#2355)
* Display all packages to be installed * Display all packages to be installed
Diffstat (limited to 'archinstall/default_profiles')
-rw-r--r--archinstall/default_profiles/desktops/bspwm.py25
-rw-r--r--archinstall/default_profiles/profile.py31
-rw-r--r--archinstall/default_profiles/xorg.py5
3 files changed, 26 insertions, 35 deletions
diff --git a/archinstall/default_profiles/desktops/bspwm.py b/archinstall/default_profiles/desktops/bspwm.py
index 2a29f41b..61eeba43 100644
--- a/archinstall/default_profiles/desktops/bspwm.py
+++ b/archinstall/default_profiles/desktops/bspwm.py
@@ -25,28 +25,3 @@ class BspwmProfile(XorgProfile):
@property
def default_greeter_type(self) -> Optional[GreeterType]:
return GreeterType.Lightdm
-
- def preview_text(self) -> Optional[str]:
- text = str(_('Environment type: {}')).format(self.profile_type.value)
- return text + '\n' + self.packages_text()
-
- # The wiki specified xinit, but we already use greeter?
- # https://wiki.archlinux.org/title/Bspwm#Starting
- #
- # # TODO: check if we selected a greeter, else run this:
- # with open(f"{install_session.target}/etc/X11/xinit/xinitrc", 'r') as xinitrc:
- # xinitrc_data = xinitrc.read()
-
- # for line in xinitrc_data.split('\n'):
- # if "twm &" in line:
- # xinitrc_data = xinitrc_data.replace(line, f"# {line}")
- # if "xclock" in line:
- # xinitrc_data = xinitrc_data.replace(line, f"# {line}")
- # if "xterm" in line:
- # xinitrc_data = xinitrc_data.replace(line, f"# {line}")
-
- # xinitrc_data += '\n'
- # xinitrc_data += 'exec bspwn\n'
-
- # with open(f"{install_session.target}/etc/X11/xinit/xinitrc", 'w') as xinitrc:
- # xinitrc.write(xinitrc_data)
diff --git a/archinstall/default_profiles/profile.py b/archinstall/default_profiles/profile.py
index 49a9c19d..4c85b0c7 100644
--- a/archinstall/default_profiles/profile.py
+++ b/archinstall/default_profiles/profile.py
@@ -178,15 +178,28 @@ class Profile:
def preview_text(self) -> Optional[str]:
"""
- Used for preview text in profiles_bck. If a description is set for a
- profile it will automatically display that one in the preview.
- If no preview or a different text should be displayed just
+ Override this method to provide a preview text for the profile
"""
- if self.description:
- return self.description
- return None
+ return self.packages_text()
- def packages_text(self) -> str:
+ def packages_text(self, include_sub_packages: bool = False) -> Optional[str]:
header = str(_('Installed packages'))
- output = format_cols(self.packages, header)
- return output
+
+ text = ''
+ packages = []
+
+ if self.packages:
+ packages = self.packages
+
+ if include_sub_packages:
+ for p in self.current_selection:
+ if p.packages:
+ packages += p.packages
+
+ text += format_cols(sorted(set(packages)))
+
+ if text:
+ text = f'{header}: \n{text}'
+ return text
+
+ return None
diff --git a/archinstall/default_profiles/xorg.py b/archinstall/default_profiles/xorg.py
index c9abf4da..88ba55a6 100644
--- a/archinstall/default_profiles/xorg.py
+++ b/archinstall/default_profiles/xorg.py
@@ -22,7 +22,10 @@ class XorgProfile(Profile):
def preview_text(self) -> Optional[str]:
text = str(_('Environment type: {}')).format(self.profile_type.value)
- return text + '\n' + self.packages_text()
+ if packages := self.packages_text():
+ text += f'\n{packages}'
+
+ return text
@property
def packages(self) -> List[str]: