diff --git a/playbook.yml b/playbook.yml index 0287b51..af38456 100644 --- a/playbook.yml +++ b/playbook.yml @@ -28,6 +28,7 @@ - { role: development } - { role: backup } - { role: mapping } + - { role: sound } vars_prompt: - name: user_password prompt: "Enter desired user password" diff --git a/roles/base/tasks/packages.yml b/roles/base/tasks/packages.yml index d9c0a13..f25c2fb 100644 --- a/roles/base/tasks/packages.yml +++ b/roles/base/tasks/packages.yml @@ -17,7 +17,6 @@ - unrar - bc - ranger - - alsa-utils - name: Create AUR directory file: path=/home/{{ user.name }}/{{ aur.dir }} diff --git a/roles/sound/files/udev.rules b/roles/sound/files/udev.rules new file mode 100644 index 0000000..4be5bbd --- /dev/null +++ b/roles/sound/files/udev.rules @@ -0,0 +1,5 @@ + Set USB device as default sound card when plugged in +KERNEL=="pcmC[D0-9cp]*", ACTION=="add", PROGRAM="/bin/sh -c 'K=%k; K=$${K#pcmC}; K=$${K%%D*}; echo defaults.ctl.card $$K > /etc/asound.conf; echo defaults.pcm.card $$K >>/etc/asound.conf'" + +# Restore default sound card when USB device unplugged +KERNEL=="pcmC[D0-9cp]*", ACTION=="remove", PROGRAM="/bin/sh -c 'echo defaults.ctl.card 0 > /etc/asound.conf; echo defaults.pcm.card 0 >>/etc/asound.conf'" diff --git a/roles/sound/meta/main.yml b/roles/sound/meta/main.yml new file mode 100644 index 0000000..72123d9 --- /dev/null +++ b/roles/sound/meta/main.yml @@ -0,0 +1,3 @@ +--- +dependencies: + - { role: base } diff --git a/roles/sound/tasks/main.yml b/roles/sound/tasks/main.yml new file mode 100644 index 0000000..c9889dd --- /dev/null +++ b/roles/sound/tasks/main.yml @@ -0,0 +1,6 @@ +--- +- name: Install alsa-utils + pacman: name=alsa-utils state=present + +- name: Copy udev rule for USB audio device switching + copy: src=udev.rules dest=/etc/udev/rules.d/00-local.rules