about summary refs log tree commit diff
path: root/nixos/alpha/config/pipewire.nix
diff options
context:
space:
mode:
authorsefidel <contact@sefidel.net>2022-01-27 14:04:56 +0900
committersefidel <contact@sefidel.net>2022-01-27 14:19:45 +0900
commitc8d706555152e0e24701f4967bc7a64dcc5647d5 (patch)
treeadfc0bccc1be6351173892ad1ba901160a4bb5f8 /nixos/alpha/config/pipewire.nix
parent264a8e1097abd2a60ff4aa30eef54626331d15ff (diff)
downloadnixrc-c8d706555152e0e24701f4967bc7a64dcc5647d5.tar.gz
nixrc-c8d706555152e0e24701f4967bc7a64dcc5647d5.zip
nixos/alpha: try to fix alsa error
* Yep, it didn't work.
Diffstat (limited to 'nixos/alpha/config/pipewire.nix')
-rw-r--r--nixos/alpha/config/pipewire.nix67
1 files changed, 67 insertions, 0 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;
+    };
+  };
+}