Files
nixos-hardware/purism/librem/5r4/audio.nix
2025-02-17 13:07:16 +00:00

42 lines
1.1 KiB
Nix

{ config
, lib
, pkgs
, ...
}: {
config =
lib.mkIf config.hardware.librem5.audio
{
services.dbus.packages = [ pkgs.callaudiod ];
}
// (
let
paConfig = {
enable = true;
# this is required to correctly configure the modem as PA source/sink
extraConfig = ''
.include ${config.hardware.librem5.package}/etc/pulse/librem5.pa
'';
};
in
if lib.versionOlder (lib.versions.majorMinor lib.version) "25.05"
then {
assertions = [
{
assertion = config.hardware.pulseaudio.enable;
message = "Call audio on Librem5 requires pulse audio to be enabled through `hardware.pulseaudio.enable`.";
}
];
hardware.pulseaudio = paConfig;
}
else {
assertions = [
{
assertion = config.services.pulseaudio.enable;
message = "Call audio on Librem5 requires pulse audio to be enabled through `services.pulseaudio.enable`.";
}
];
services.pulseaudio = paConfig;
}
);
}