{ 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 = false; services.pipewire = { enable = true; alsa.enable = true; alsa.support32Bit = false; pulse.enable = true; jack.enable = true; # Deprecated as of 23.05 # 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; }; }