Как настроить входные пакеты / зависимости сборки в оболочках разработки Nix?

Я не использую NixOS, но я написал флейк, который использую для генерации оболочки разработчика для создания проекта Rust (по сути, это просто аудио-пример из репозитория Bevy). Моя проблема в том, что при попытке запустить проект в оболочке разработчика я сталкиваюсь со следующей ошибкой:

      $ nix --extra-experimental-features nix-command --extra-experimental-features flakes develop
bash-4.4$ cargo run
    Finished dev [unoptimized + debuginfo] target(s) in 6.62s
     Running `target/debug/audio`
ALSA lib pcm_dmix.c:1075:(snd_pcm_dmix_open) unable to open slave
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: NoDevice', /home/a/.cargo/registry/src/github.com-1ecc6299db9ec823/bevy_audio
-0.5.0/src/audio_output.rs:22:67
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
bash-4.4

Одна из зависимостей проекта - ящик Bevy, для которого требуется ALSA, поэтому я предполагаю, что проблема в том, что пакет ALSA, предоставляемый оболочкой разработчика, вероятно, неправильно настроен. Я использую PipeWire в своей реальной системе (я думаю, что он также использует ALSA в качестве бэкэнда), и я попытался добавить ALSA и PipeWire в качестве одного из buildInputs для flake, но я не уверен, как я должен настроить их в оболочка разработчика. По этому вопросу в репозитории Bevy, обычное решение этой проблемы, по крайней мере для дистрибутивов на основе Arch, - это установка пакета pipewire-alsa. Я не уверен, что эквивалентно этому в контексте оболочки разработчика Nix, поскольку в nixpkgs нет пакета pipewire-alsa, который я мог бы добавить в свой flake. Итак, с учетом сказанного, как мне приступить к настройке ALSA или PipeWire в оболочке разработчика?

0 ответов

Другие вопросы по тегам