diff --git a/modules/hardware/presonus-studio.nix b/modules/hardware/presonus-studio.nix index 8f151c0..c643b14 100644 --- a/modules/hardware/presonus-studio.nix +++ b/modules/hardware/presonus-studio.nix @@ -36,8 +36,11 @@ in { kmod ]; script = '' - rmmod snd_usb_audio - insmod /run/booted-system/kernel-modules/lib/modules/$(uname -r)/extra/snd-usb-audio.ko.xz + # Only reload if device hasn't been initialised + if ! cat /proc/asound/card*/usbmixer | grep -q "Mute Main Out Switch"; then + rmmod snd_usb_audio + insmod /run/booted-system/kernel-modules/lib/modules/$(uname -r)/extra/snd-usb-audio.ko.xz + fi ''; };