home-manager/tests/modules/services/fluidsynth/service.nix
Nicholas Coltharp 72394f6d6b
fluidsynth: add sound service option
Fluidsynth's systemd unit currently has a hard dependency on the
pulseaudio systemd service. Since fluidsynth can use other sound
services (e.g., pipewire-pulse), this should be configurable. This
commit adds the relevant option.

PR #2238
2021-08-18 00:38:29 +02:00

32 lines
887 B
Nix

{ config, pkgs, ... }: {
config = {
services.fluidsynth.enable = true;
services.fluidsynth.soundService = "pipewire-pulse";
services.fluidsynth.soundFont = "/path/to/soundFont";
services.fluidsynth.extraOptions = [ "--sample-rate 96000" ];
nixpkgs.overlays = [
(self: super: {
fluidsynth = pkgs.writeScriptBin "dummy-fluidsynth" "" // {
outPath = "@fluidsynth@";
};
})
];
nmt.script = ''
serviceFile=home-files/.config/systemd/user/fluidsynth.service
assertFileExists $serviceFile
assertFileContains $serviceFile \
'ExecStart=@fluidsynth@/bin/fluidsynth -a pulseaudio -si --sample-rate 96000 /path/to/soundFont'
assertFileContains $serviceFile \
'After=pipewire-pulse.service'
assertFileContains $serviceFile \
'BindsTo=pipewire-pulse.service'
'';
};
}