Switch to pipewire
This commit is contained in:
parent
0fc2612425
commit
4e5570be88
|
@ -2,7 +2,7 @@
|
||||||
# your system. Help is available in the configuration.nix(5) man page
|
# your system. Help is available in the configuration.nix(5) man page
|
||||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||||
|
|
||||||
{ config, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
octoprintPort = 8080;
|
octoprintPort = 8080;
|
||||||
|
@ -60,6 +60,7 @@ in {
|
||||||
mpv
|
mpv
|
||||||
ncmpcpp
|
ncmpcpp
|
||||||
ncpamixer
|
ncpamixer
|
||||||
|
pulseaudio # required for pactl
|
||||||
vim
|
vim
|
||||||
wget
|
wget
|
||||||
];
|
];
|
||||||
|
@ -99,22 +100,14 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
hardware.pulseaudio = {
|
|
||||||
|
services.pipewire = {
|
||||||
enable = true;
|
enable = true;
|
||||||
systemWide = true;
|
alsa.enable = true;
|
||||||
tcp.enable = true;
|
config.pipewire-pulse = lib.importJSON ./pipewire-pulse.conf.json;
|
||||||
tcp.anonymousClients.allowedIpRanges = [
|
pulse.enable = true;
|
||||||
"127.0.0.0/8"
|
|
||||||
"::1/128"
|
|
||||||
"fd23:42:c3d2:500::/56"
|
|
||||||
"172.22.99.0/24"
|
|
||||||
"172.20.72.0/21"
|
|
||||||
"2a00:8180:2c00:200::/56"
|
|
||||||
];
|
|
||||||
zeroconf.publish.enable = true;
|
|
||||||
package = pkgs.pulseaudioFull;
|
|
||||||
extraModules = [ pkgs.pulseaudio-modules-bt ];
|
|
||||||
};
|
};
|
||||||
|
security.rtkit.enable = true;
|
||||||
|
|
||||||
# tell Avahi to publish CUPS and PulseAudio
|
# tell Avahi to publish CUPS and PulseAudio
|
||||||
services.avahi = {
|
services.avahi = {
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
#! /usr/bin/env nix-shell
|
||||||
|
#! nix-shell -i bash -p jq
|
||||||
|
|
||||||
|
# shellcheck shell=bash
|
||||||
|
|
||||||
|
dir=$(dirname "$(readlink -f "$0")")
|
||||||
|
default_pipewire_pulse=$(nix-instantiate --eval -E '(import <nixos> { }).pkgs.path')/nixos/modules/services/desktops/pipewire/pipewire-pulse.conf.json
|
||||||
|
|
||||||
|
jq -s '.[0] * .[1] * .[2]' "$dir/pipewire-pulse.conf.in.json" "$default_pipewire_pulse" > "$dir/pipewire-pulse.conf.json" <(jq -cnS '{ "context.modules": [ inputs."context.modules" ] | add}' "$default_pipewire_pulse" "$dir/pipewire-pulse.conf.in.json")
|
|
@ -0,0 +1,20 @@
|
||||||
|
{
|
||||||
|
"context.modules": [
|
||||||
|
{
|
||||||
|
"name": "libpipewire-module-zeroconf-publish"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "libpipewire-module-protocol-pulse",
|
||||||
|
"args": {
|
||||||
|
"server.address": [
|
||||||
|
"tcp:127.0.0.0/8",
|
||||||
|
"tcp:::1/128",
|
||||||
|
"tcp:fd23:42:c3d2:500::/56",
|
||||||
|
"tcp:172.22.99.0/24",
|
||||||
|
"tcp:172.20.72.0/21",
|
||||||
|
"tcp:2a00:8180:2c00:200::/56"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,58 @@
|
||||||
|
{
|
||||||
|
"context.modules": [
|
||||||
|
{
|
||||||
|
"args": {},
|
||||||
|
"flags": [
|
||||||
|
"ifexists",
|
||||||
|
"nofail"
|
||||||
|
],
|
||||||
|
"name": "libpipewire-module-rtkit"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "libpipewire-module-protocol-native"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "libpipewire-module-client-node"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "libpipewire-module-adapter"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "libpipewire-module-metadata"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"args": {
|
||||||
|
"server.address": [
|
||||||
|
"unix:native"
|
||||||
|
],
|
||||||
|
"vm.overrides": {
|
||||||
|
"pulse.min.quantum": "1024/48000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"name": "libpipewire-module-protocol-pulse"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "libpipewire-module-zeroconf-publish"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"args": {
|
||||||
|
"server.address": [
|
||||||
|
"tcp:127.0.0.0/8",
|
||||||
|
"tcp:::1/128",
|
||||||
|
"tcp:fd23:42:c3d2:500::/56",
|
||||||
|
"tcp:172.22.99.0/24",
|
||||||
|
"tcp:172.20.72.0/21",
|
||||||
|
"tcp:2a00:8180:2c00:200::/56"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"name": "libpipewire-module-protocol-pulse"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"context.properties": {},
|
||||||
|
"context.spa-libs": {
|
||||||
|
"audio.convert.*": "audioconvert/libspa-audioconvert",
|
||||||
|
"support.*": "support/libspa-support"
|
||||||
|
},
|
||||||
|
"context.exec": [],
|
||||||
|
"stream.properties": {}
|
||||||
|
}
|
Loading…
Reference in New Issue