LINUX.ORG.RU

NixOS изменение конфигов pulseaudio

 , ,


0

3

Есть необходимость изменить системный конфиг pulseaudio (из-за особенностей звуковой карты), но т.к. /nix/store иммутабелен, то напрямую изменить их нельзя. И собственно вопрос, как это сделать?

Пытался наложить патч (если я правльно понял то на этапе билда pulseaudio должен был пересобраться с этим патчем), но вместе с pulseaudio начали пересобираться кеды и т.д.

configurations.nix:

    nixpkgs.config = {
        packageOverrides = pkgs_: {
            pulseaudio = pkgs_.pulseaudio.overrideAttrs (oldAttrs: {
                patches = [
                    ./pulseaudio-zenbook_ux390-fix.patch
                ];
            });
        };
    };

pulseaudio-zenbook_ux390-fix.patch:

diff --git a/src/modules/alsa/mixer/paths/analog-output.conf.common b/src/modules/alsa/mixer/paths/analog-output.conf.common
index e52830d..a6ede63 100644
--- a/src/modules/alsa/mixer/paths/analog-output.conf.common
+++ b/src/modules/alsa/mixer/paths/analog-output.conf.common
@@ -131,12 +131,20 @@
 ;                                      # numbering schemes, so we can't hardcode the full jack name in our configuration
 ;                                      # files.
 
+[Element Master]
+switch = mute
+volume = ignore
+
 [Element PCM]
 switch = mute
 volume = merge
 override-map.1 = all
 override-map.2 = all-left,all-right
 
+[Element LFE]
+switch = mute
+volume = ignore
+
 [Element External Amplifier]
 switch = select

Еще пытался сделать так.

configurations.nix:

    nixpkgs.config = {
        packageOverrides = pkgs_: {
            pulseaudio = pkgs_.pulseaudio.override {
                patches = [
                    ./pulseaudio-zenbook_ux390-fix.patch
                ];
            };
        };
    };

Но сбощить мне сообщил что атрибута patches не существует.

вместе с pulseaudio начали пересобираться кеды

Всё правильно, при пересборке пакета с новым конфигом будут пересобираться всего его зависимости. Так работает Nix.

Singularity ★★★★★ ()
Ответ на: комментарий от Singularity

Мне необходимо изменить содержимое файла analog-output.conf.common который лежит в /usr/share/pulseaudio/alsa-mixer/paths/

wh1tevs ()

nixpkgs.config.hardware.pulseaudio.package = переопределенный пакет.

t184256 ★★★★★ ()

Короче все оказалось куда проще. Можно просто создать нужный файл в каталоге и система сама подхватит файл не из стора.

wh1tevs ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.