diff --git a/archinstall/default_profiles/applications/pipewire.py b/archinstall/default_profiles/applications/pipewire.py index 44e2bdd8..0e53c723 100644 --- a/archinstall/default_profiles/applications/pipewire.py +++ b/archinstall/default_profiles/applications/pipewire.py @@ -32,7 +32,16 @@ class PipewireProfile(Profile): users = [users] for user in users: - install_session.arch_chroot('systemctl enable --user pipewire-pulse.service', run_as=user.username) + # Create the full path for enabling the pipewire systemd items + service_dir = install_session.target / "home" / user.username / ".config" / "systemd" / "user" / "default.target.wants" + service_dir.mkdir(parents=True, exist_ok=True) + + # Set ownership of the entire user catalogue + install_session.arch_chroot(f'chown -R {user.username}:{user.username} /home/{user.username}') + + # symlink in the correct pipewire systemd items + install_session.arch_chroot(f'ln -s /usr/lib/systemd/user/pipewire-pulse.service /home/{user.username}/.config/systemd/user/default.target.wants/pipewire-pulse.service', run_as=user.username) + install_session.arch_chroot(f'ln -s /usr/lib/systemd/user/pipewire-pulse.socket /home/{user.username}/.config/systemd/user/default.target.wants/pipewire-pulse.socket', run_as=user.username) def install(self, install_session: 'Installer') -> None: super().install(install_session)