{ 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 # TODO # i think this needs a nix-shell with # ghci packages with tidal installed # and then also create the script file that runs tidalvim # https://github.com/tidalcycles/vim-tidal/blob/1.4.8/bin/tidalvim # nix-shell -p "haskellPackages.ghcWithPackages (pkgs: [pkgs.tidal])" --run ghci # https://github.com/tidalcycles/Tidal/issues/637 #haskellPackages.tidal # sc3 plugins # https://gist.github.com/gosub/a42e265ec38d9df203d6 # 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; }; }