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
|
||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||
|
||||
{ config, pkgs, ... }:
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
octoprintPort = 8080;
|
||||
|
@ -60,6 +60,7 @@ in {
|
|||
mpv
|
||||
ncmpcpp
|
||||
ncpamixer
|
||||
pulseaudio # required for pactl
|
||||
vim
|
||||
wget
|
||||
];
|
||||
|
@ -99,22 +100,14 @@ in {
|
|||
};
|
||||
};
|
||||
};
|
||||
hardware.pulseaudio = {
|
||||
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
systemWide = true;
|
||||
tcp.enable = true;
|
||||
tcp.anonymousClients.allowedIpRanges = [
|
||||
"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 ];
|
||||
alsa.enable = true;
|
||||
config.pipewire-pulse = lib.importJSON ./pipewire-pulse.conf.json;
|
||||
pulse.enable = true;
|
||||
};
|
||||
security.rtkit.enable = true;
|
||||
|
||||
# tell Avahi to publish CUPS and PulseAudio
|
||||
services.avahi = {
|
||||
|
|
9
hosts/pulsebert/generate.sh
Executable file
9
hosts/pulsebert/generate.sh
Executable file
|
@ -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")
|
20
hosts/pulsebert/pipewire-pulse.conf.in.json
Normal file
20
hosts/pulsebert/pipewire-pulse.conf.in.json
Normal file
|
@ -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"
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
58
hosts/pulsebert/pipewire-pulse.conf.json
Normal file
58
hosts/pulsebert/pipewire-pulse.conf.json
Normal file
|
@ -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
Block a user