{ # Настройки звука hardware.pulseaudio.enable = false; security.rtkit.enable = true; # Уменьшает задержку? services.pipewire = { enable = true; alsa.enable = true; alsa.support32Bit = true; pulse.enable = true; jack.enable = true; wireplumber = { enable = true; # Запретить конкретному софту редактировать громкость микрофона # В терминал `wpctl status`, найти нужное приложение в списке клиентов # Потом `wpctl inspect номер-клиента | grep application.process.binary` # `systemctl --user restart wireplumber pipewire pipewire-pulse` # Доп ссылки по теме # https://www.reddit.com/r/archlinux/comments/190dvl8/pipewirewayland_how_to_stop_applications_from/ # https://askubuntu.com/questions/749407/is-there-any-way-to-prevent-application-from-changing-volume-level-of-my-microph # https://www.linux.org/threads/prevent-applications-from-changing-microphone-gain.41636/ # https://www.reddit.com/r/Ubuntu/comments/pvlm6r/how_to_disable_microphone_autoadjusting/ extraScripts."99-stop-microphone-auto-adjust.lua" = '' table.insert (default_access.rules,{ matches = { { { "application.process.binary", "=", ".Discord-wrapped" } }, { { "application.process.binary", "=", "chromium" } }, { { "application.process.binary", "=", "librewolf" } }, { { "application.process.binary", "=", "firefox" } }, { { "application.process.binary", "=", "steam" } }, { { "application.process.binary", "=", ".telegram-desktop-wrapped" } } }, default_permissions = "rx", }) ''; }; # Ниже настройки имеют формат "число - название" # Число определяет приоритет настройки, а название описывает цель конфига extraConfig.pipewire = { "10-clock-rate" = { "context.properties" = { "default.clock.rate" = 48000; # "default.clock.allowed-rates" = [ 44100 48000 88200 96000 176400 192000 352800 384000 705600 768000 ]; }; }; # Ниже настройки для минимальной задержки в играх (например osu!stable через wine) # quantum — устанавливает размер буфера (чем меньше значение, тем ниже задержка, но выше нагрузка на процессор). # Можно посчитать теоретическую задержку в секундах, поделив quantum на rate (48/48000 будет 1мс) # Если со звуком есть проблемы (щелчки, прерывания), попробуйте увеличить значение (64, 128, 256) или просто удалить эту настройку # По умолчанию я закомментировал настройку, чтоб у людей не было проблем # "92-low-latency" = { # default.clock.quantum = 32; # default = 1024 # default.clock.min-quantum = 32; # default = 32 # default.clock.max-quantum = 32; # default = 2048 # }; }; }; }