diff --git a/defaults/main.yaml b/defaults/main.yaml index 139abd2..8532c2d 100644 --- a/defaults/main.yaml +++ b/defaults/main.yaml @@ -70,3 +70,11 @@ i3_hide_bar: false i3_hide_border_one_window: false home_xhosts_allow: [] + +pulseaudio_load_system_config: true +pulseaudio_jack_sink_enabled: false +pulseaudio_jack_sink_channels: 2 +pulseaudio_jack_sink_client_name: PulseAudio +pulseaudio_jack_source_enabled: false +pulseaudio_jack_source_channels: 2 +pulseaudio_jack_source_client_name: PulseAudio diff --git a/handlers/main.yaml b/handlers/main.yaml index bc948f4..a5db22e 100644 --- a/handlers/main.yaml +++ b/handlers/main.yaml @@ -12,6 +12,13 @@ scope: user failed_when: false +- name: restart pulseaudio + systemd: + name: pulseaudio.service + state: restarted + scope: user + failed_when: false + - name: i3 reload systemd: name: i3wm.service diff --git a/tasks/pulseaudio.yaml b/tasks/pulseaudio.yaml index 838ea12..866d555 100644 --- a/tasks/pulseaudio.yaml +++ b/tasks/pulseaudio.yaml @@ -6,3 +6,14 @@ dest: ~/.pulse-cookie mode: 0600 when: home_copy_pulseaudio_cookie + +- name: pulse directory + file: + path: ~/.pulse + state: directory + +- name: pulse default config + template: + src: pulseaudio/default.pa.j2 + dest: ~/.pulse/default.pa + notify: restart pulseaudio diff --git a/templates/pulseaudio/default.pa.j2 b/templates/pulseaudio/default.pa.j2 new file mode 100644 index 0000000..bd85e90 --- /dev/null +++ b/templates/pulseaudio/default.pa.j2 @@ -0,0 +1,25 @@ +{{ansible_managed|comment}} + +{% if pulseaudio_load_system_config %} +.include /etc/pulse/default.pa +{% endif %} + +.fail + +{% if pulseaudio_jack_sink_enabled %} +load-module module-jack-sink channels={{pulseaudio_jack_sink_channels}} client_name="{{pulseaudio_jack_sink_client_name}}" connect=0 +{% endif %} +{% if pulseaudio_jack_source_enabled %} +load-module module-jack-source channels={{pulseaudio_jack_source_channels}} client_name="{{pulseaudio_jack_source_client_name}}" connect=0 +{% endif %} + +{% if pulseaudio_default_sink is defined %} +set-default-sink {{pulseaudio_default_sink}} +{% endif %} +{% if pulseaudio_default_source is defined %} +set-default-source {{pulseaudio_default_source}} +{% endif %} + +.ifexists module-x11-publish.so + load-module module-x11-publish +.endif