aboutsummaryrefslogtreecommitdiff
path: root/nixos/alpha
diff options
context:
space:
mode:
Diffstat (limited to 'nixos/alpha')
-rw-r--r--nixos/alpha/config/pipewire.nix67
-rw-r--r--nixos/alpha/configuration.nix9
2 files changed, 74 insertions, 2 deletions
diff --git a/nixos/alpha/config/pipewire.nix b/nixos/alpha/config/pipewire.nix
new file mode 100644
index 0000000..d1ec56f
--- /dev/null
+++ b/nixos/alpha/config/pipewire.nix
@@ -0,0 +1,67 @@
+{
+ pipewire."context.properties" = {
+ "core.daemon" = true;
+ "core.name" = "pipewire-0";
+ "link.max-buffers" = 16;
+ "log.level" = 2;
+ "default.clock.rate" = 48000;
+ "default.clock.quantum" = 32;
+ "default.clock.min-quantum" = 32;
+ "default.clock.max-quantum" = 32;
+ };
+
+ pipewire-pulse = {
+ "context.modules" = [
+ { name = "libpipewire-module-protocol-native"; }
+ { name = "libpipewire-module-client-node"; }
+ { name = "libpipewire-module-adapter"; }
+ { name = "libpipewire-module-metadata"; }
+ { name = "libpipewire-module-profiler"; }
+ { name = "libpipewire-module-spa-device-factory"; }
+ { name = "libpipewire-module-spa-node-factory"; }
+ { name = "libpipewire-module-client-device"; }
+ { name = "libpipewire-module-link-factory"; }
+ { name = "libpipewire-module-session-manager"; }
+
+ {
+ name = "libpipewire-module-portal";
+ flags = [ "ifexists" "nofail" ];
+ }
+
+ {
+ name = "libpipewire-module-access";
+ args = { };
+ }
+
+ {
+ name = "libpipewire-module-rtkit";
+
+ args = {
+ "nice.level" = -15;
+ "rt.prio" = 90;
+ "rt.time.soft" = 200000;
+ "rt.time.hard" = 200000;
+ };
+
+ flags = [ "ifexists" "nofail" ];
+ }
+
+ {
+ name = "libpipewire-module-protocol-pulse";
+ args = {
+ "server.address" = [ "unix:native" ];
+ "pulse.min.req" = "32/48000";
+ "pulse.min.quantum" = "32/48000";
+ "pulse.min.frag" = "32/48000";
+ "pulse.default.req" = "2048/48000";
+ "pulse.default.frag" = "2048/48000";
+ };
+ }
+ ];
+
+ "stream.properties" = {
+ "node.latency" = "32/48000";
+ "resample.quality" = 1;
+ };
+ };
+}
diff --git a/nixos/alpha/configuration.nix b/nixos/alpha/configuration.nix
index 4151ef0..92eb25b 100644
--- a/nixos/alpha/configuration.nix
+++ b/nixos/alpha/configuration.nix
@@ -84,14 +84,19 @@
services.openssh.enable = true;
services.openssh.passwordAuthentication = false;
- sound.enable = true;
+ sound.enable = false;
+
+ # TODO: ALSA lib pcm.c:2576:(snd_pcm_open_conf) Unknown field libs
services.pipewire = {
enable = true;
+
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
- };
+ config = import ./config/pipewire.nix;
+ };
+#
hardware.bluetooth.enable = true;
services.greetd = {