feat(pipewire): Add alsa integration
Any programs running through alsa only (such as spotify_player on voidlinux) should now also work correctly through the pipewire stack.
This commit is contained in:
parent
317b931de0
commit
dc78da4d03
5 changed files with 56 additions and 1 deletions
roles
display_manager
gnupg/tasks
pipewire/tasks
8
roles/display_manager/defaults/main.yaml
Normal file
8
roles/display_manager/defaults/main.yaml
Normal file
|
@ -0,0 +1,8 @@
|
|||
---
|
||||
# should the system automatically login as the primary user
|
||||
dm_auto_login: true
|
||||
|
||||
# default command to run on login
|
||||
# can be pause if we use services to start graphical env
|
||||
# otherwise a shell, e.g. zsh makes sense
|
||||
dm_command: pause
|
|
@ -22,6 +22,15 @@
|
|||
mode: 0644
|
||||
force: true
|
||||
|
||||
- name: Enable power management for _greeter user
|
||||
ansible.builtin.copy:
|
||||
content: "_greeter ALL=(ALL) NOPASSWD: /usr/sbin/shutdown, /usr/bin/reboot, /usr/bin/poweroff, /usr/bin/shutdown"
|
||||
dest: "/etc/sudoers.d/30-greeter"
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
force: true
|
||||
|
||||
- name: Activate greetd service
|
||||
ansible.builtin.file:
|
||||
src: "/etc/sv/greetd"
|
||||
|
|
|
@ -5,9 +5,14 @@ vt = 7
|
|||
|
||||
# The default session, also known as the greeter.
|
||||
[default_session]
|
||||
command = "tuigreet --cmd zsh"
|
||||
command = "tuigreet --cmd {{ dm_command }}"
|
||||
command = "tuigreet --power-reboot 'sudo reboot' --power-shutdown 'sudo poweroff' --cmd {{ dm_command }}"
|
||||
user = "{{ greeter_user }}"
|
||||
|
||||
[initial_session]
|
||||
command = "{{ dm_command }}"
|
||||
user = "{{ user_name | default('root') }}"
|
||||
|
||||
# `agreety` is the bundled agetty/login-lookalike. You can replace `/bin/sh`
|
||||
# with whatever you want started, such as `sway`.
|
||||
# command = "agreety --cmd /bin/sh"
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
name:
|
||||
- gnupg
|
||||
- gnupg2-scdaemon
|
||||
- keychain
|
||||
state: "{{ desired_package_state | default('present') }}"
|
||||
tags: packages
|
||||
|
||||
|
|
|
@ -45,5 +45,37 @@
|
|||
src: "/usr/share/examples/pipewire/20-pipewire-pulse.conf"
|
||||
dest: "/etc/pipewire/pipewire.conf.d/20-pipewire-pulse.conf"
|
||||
state: link
|
||||
tags: pulseaudio
|
||||
|
||||
- name: Install alsa integration package
|
||||
community.general.xbps:
|
||||
name:
|
||||
- alsa-pipewire
|
||||
state: "{{ desired_package_state | default('present') }}"
|
||||
tags:
|
||||
- packages
|
||||
- alsa
|
||||
|
||||
- name: Set up wireplumber to auto start
|
||||
ansible.builtin.file:
|
||||
dest: "/etc/alsa/conf.d"
|
||||
state: directory
|
||||
|
||||
- name: Enable alsa-pipewire interface
|
||||
become: true
|
||||
ansible.builtin.file:
|
||||
force: "yes"
|
||||
src: "/usr/share/alsa/alsa.conf.d/50-pipewire.conf"
|
||||
dest: "/etc/alsa/conf.d/50-pipewire.conf"
|
||||
state: link
|
||||
tags: alsa
|
||||
|
||||
- name: Make alsa-pipewire interface default for alsa
|
||||
ansible.builtin.file:
|
||||
force: "yes"
|
||||
src: "/usr/share/alsa/alsa.conf.d/99-pipewire-default.conf"
|
||||
dest: "/etc/alsa/conf.d/99-pipewire-default.conf"
|
||||
state: link
|
||||
tags: alsa
|
||||
|
||||
# TODO: Find way to install and enable pipewire-roc-sink module (and enable ~/.config/pipewire/pipewire.conf.d/roc-sink.conf)
|
||||
|
|
Loading…
Reference in a new issue