From 4839a3cb3cc1a5fc56db332e4d9d4fd0676a8836 Mon Sep 17 00:00:00 2001 From: Softer Date: Sun, 3 May 2026 17:12:40 +0300 Subject: [PATCH 1/2] Fix bspwm black screen: add provision() delegation and default configs --- archinstall/default_profiles/desktop.py | 6 ++++++ archinstall/default_profiles/desktops/bspwm.py | 14 +++++++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/archinstall/default_profiles/desktop.py b/archinstall/default_profiles/desktop.py index 7ffe31a8b0..17d38c6123 100644 --- a/archinstall/default_profiles/desktop.py +++ b/archinstall/default_profiles/desktop.py @@ -9,6 +9,7 @@ if TYPE_CHECKING: from archinstall.lib.installer import Installer + from archinstall.lib.models.users import User class DesktopProfile(Profile): @@ -88,6 +89,11 @@ def post_install(self, install_session: Installer) -> None: for profile in self.current_selection: profile.post_install(install_session) + @override + def provision(self, install_session: Installer, users: list[User]) -> None: + for profile in self.current_selection: + profile.provision(install_session, users) + @override def install(self, install_session: Installer) -> None: # Install common packages for all desktop environments diff --git a/archinstall/default_profiles/desktops/bspwm.py b/archinstall/default_profiles/desktops/bspwm.py index f8c2a7b238..d9b15e801d 100644 --- a/archinstall/default_profiles/desktops/bspwm.py +++ b/archinstall/default_profiles/desktops/bspwm.py @@ -1,7 +1,11 @@ -from typing import override +from typing import TYPE_CHECKING, override from archinstall.default_profiles.profile import DisplayServerType, GreeterType, Profile, ProfileType +if TYPE_CHECKING: + from archinstall.lib.installer import Installer + from archinstall.lib.models.users import User + class BspwmProfile(Profile): def __init__(self) -> None: @@ -27,3 +31,11 @@ def packages(self) -> list[str]: @override def default_greeter_type(self) -> GreeterType: return GreeterType.Lightdm + + @override + def provision(self, install_session: Installer, users: list[User]) -> None: + for user in users: + install_session.arch_chroot('mkdir -p ~/.config/bspwm ~/.config/sxhkd', run_as=user.username) + install_session.arch_chroot('cp /usr/share/doc/bspwm/examples/bspwmrc ~/.config/bspwm/', run_as=user.username) + install_session.arch_chroot('cp /usr/share/doc/bspwm/examples/sxhkdrc ~/.config/sxhkd/', run_as=user.username) + install_session.arch_chroot('chmod +x ~/.config/bspwm/bspwmrc', run_as=user.username) From d2f48350389c35054255f93dfe07a1a87c97bfb0 Mon Sep 17 00:00:00 2001 From: Softer Date: Wed, 6 May 2026 13:33:29 +0300 Subject: [PATCH 2/2] Move TYPE_CHECKING imports to top level in bspwm profile --- archinstall/default_profiles/desktops/bspwm.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/archinstall/default_profiles/desktops/bspwm.py b/archinstall/default_profiles/desktops/bspwm.py index d9b15e801d..8886298a4a 100644 --- a/archinstall/default_profiles/desktops/bspwm.py +++ b/archinstall/default_profiles/desktops/bspwm.py @@ -1,10 +1,8 @@ -from typing import TYPE_CHECKING, override +from typing import override from archinstall.default_profiles.profile import DisplayServerType, GreeterType, Profile, ProfileType - -if TYPE_CHECKING: - from archinstall.lib.installer import Installer - from archinstall.lib.models.users import User +from archinstall.lib.installer import Installer +from archinstall.lib.models.users import User class BspwmProfile(Profile):