1{
2 pkgs,
3 lib,
4 config,
5 ...
6}:
7lib.mkIf config.gensokyo.traits.gui {
8 services = {
9 pipewire = {
10 enable = true;
11
12 audio.enable = true;
13 jack.enable = true;
14 pulse.enable = true;
15 alsa = {
16 enable = true;
17 support32Bit = true;
18 };
19
20 wireplumber.configPackages = [
21 # why aren't these consistent
22 (pkgs.writeTextDir "share/wireplumber/wireplumber.conf.d/50-disable-alsa-suspend.conf" ''
23 monitor.alsa.rules = [{
24 matches = [{node.name = "~alsa_output.*"}]
25 actions = {
26 update-props = {session.suspend-timeout-seconds = 0}
27 }
28 }]
29 '')
30 ];
31 };
32 };
33 security.rtkit.enable = true;
34}