From ba37846397c388e04db79c9f5bf8cb09ac68ea51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=9B=A7-440729=20=5Bsophie=5D?= Date: Fri, 14 Feb 2025 17:16:25 +0100 Subject: [PATCH] purism/librem/5r4: update renamed pulseaudio option --- purism/librem/5r4/audio.nix | 57 ++++++++++++++++++++++++++----------- 1 file changed, 40 insertions(+), 17 deletions(-) diff --git a/purism/librem/5r4/audio.nix b/purism/librem/5r4/audio.nix index 80c1c879..8c8b00b9 100644 --- a/purism/librem/5r4/audio.nix +++ b/purism/librem/5r4/audio.nix @@ -1,18 +1,41 @@ -{ config, lib, pkgs, ... }: -{ - config = lib.mkIf config.hardware.librem5.audio { - assertions = [{ - assertion = config.hardware.pulseaudio.enable; - message = "Call audio on Librem5 requires pulse audio to be enabled through `hardware.pulseaudio.enable`."; - }]; - hardware.pulseaudio = { - enable = true; - # this is required to correctly configure the modem as PA source/sink - extraConfig = '' - .include ${config.hardware.librem5.package}/etc/pulse/librem5.pa - ''; - }; - - services.dbus.packages = [ pkgs.callaudiod ]; - }; +{ 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; + } + ); }