40 lines
1.2 KiB
Python
40 lines
1.2 KiB
Python
from typing import override
|
|
|
|
from archinstall.default_profiles.profile import DisplayServerType, GreeterType, Profile, ProfileType
|
|
from archinstall.lib.installer import Installer
|
|
from archinstall.lib.models.users import User
|
|
|
|
|
|
class BspwmProfile(Profile):
|
|
def __init__(self) -> None:
|
|
super().__init__(
|
|
'Bspwm',
|
|
ProfileType.WindowMgr,
|
|
support_gfx_driver=True,
|
|
display_server=DisplayServerType.Xorg,
|
|
)
|
|
|
|
@property
|
|
@override
|
|
def packages(self) -> list[str]:
|
|
return [
|
|
'bspwm',
|
|
'sxhkd',
|
|
'dmenu',
|
|
'xdo',
|
|
'rxvt-unicode',
|
|
]
|
|
|
|
@property
|
|
@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)
|