{ pkgs, lib, ... }: { environment.systemPackages = with pkgs; [ qjackctl libjack2 # needed for overtone with pipewire jack2 # needed for overtone with pipewire # GUI carla # Plugins helm surge distrho orca-c supercollider dirt sunvox vcv-rack lmms bespokesynth lsp-plugins helio-workstation projectm # milkdrop visualizer # DAWs # ardour # reaper renoise ]; hardware.pulseaudio.enable = lib.mkForce false; security.rtkit.enable = true; services.pipewire = { enable = true; alsa.enable = true; alsa.support32Bit = true; pulse.enable = true; jack.enable = true; config = { pipewire."context.properties"."default.clock.rate" = "48000"; pipewire-pulse."stream.properties"."resample.quality" = 15; client."stream.properties"."resample.quality" = 15; client-rt."stream.properties"."resample.quality" = 15; #jack."context.modules" = []; }; #media-session.config.bluez-monitor.properties = { # "bluez5.headset-roles" = [ "hsp_hs" "hsp_ag" ]; # "bluez5.codecs" = [ "aac" "ldac" "aptx_hd" ]; #}; }; #systemd.services.bluethoot.serviceConfig.ExecStart = [ # "" # "${config.hardware.bluetooth.package}/libexec/bluetooth/bluetoothd --noplugin=sap" #]; boot.kernelModules = [ "snd-seq" "snd-rawmidi" ]; # midi sequence kernel mods hardware.pulseaudio.package = pkgs.pulseaudio.override { jackaudioSupport = true; }; }