mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-07-13 21:50:33 +03:00
nixos/pipewire: add jack/pulse emulation
This allows for transparent JACK and PulseAudio emulation. With this you can essentially replace your entire audio framework with just PipeWire for almost no configuration.
This commit is contained in:
parent
cd81d4043e
commit
ccefdd9dae
1 changed files with 32 additions and 1 deletions
|
@ -9,6 +9,14 @@ let
|
|||
&& pkgs.stdenv.isx86_64
|
||||
&& pkgs.pkgsi686Linux.pipewire != null;
|
||||
|
||||
jack-libs = pkgs.runCommand "jack-libs" {} ''
|
||||
mkdir -p "$out/lib"
|
||||
ln -s "${pkgs.pipewire.lib}/lib/pipewire-0.3/jack" "$out/lib/pipewire"
|
||||
'';
|
||||
pulse-libs = pkgs.runCommand "pulse-libs" {} ''
|
||||
mkdir -p "$out/lib"
|
||||
ln -s "${pkgs.pipewire.lib}/lib/pipewire-0.3/pulse" "$out/lib/pipewire"
|
||||
'';
|
||||
in {
|
||||
|
||||
meta = {
|
||||
|
@ -45,13 +53,35 @@ in {
|
|||
'';
|
||||
};
|
||||
};
|
||||
|
||||
jack = {
|
||||
enable = mkOption {
|
||||
default = false;
|
||||
type = types.bool;
|
||||
description = ''
|
||||
Enable transparent JACK audio emulation using LD_LIBRARY_PATH.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
pulse = {
|
||||
enable = mkOption {
|
||||
default = false;
|
||||
type = types.bool;
|
||||
description = ''
|
||||
Enable transparent PulseAudio emulation using LD_LIBRARY_PATH.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
###### implementation
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = [ pkgs.pipewire ];
|
||||
environment.systemPackages = [ pkgs.pipewire ]
|
||||
++ lib.optional cfg.jack.enable jack-libs
|
||||
++ lib.optional cfg.pulse.enable pulse-libs;
|
||||
|
||||
systemd.packages = [ pkgs.pipewire ];
|
||||
|
||||
|
@ -74,5 +104,6 @@ in {
|
|||
environment.etc."alsa/conf.d/50-pipewire.conf" = mkIf cfg.alsa.enable {
|
||||
source = "${pkgs.pipewire}/share/alsa/alsa.conf.d/50-pipewire.conf";
|
||||
};
|
||||
environment.sessionVariables.LD_LIBRARY_PATH = "/run/current-system/sw/lib/pipewire";
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue