{ config, lib, ... }: let cfg = config.soispha.sound; in { options.soispha.sound = { enable = lib.mkEnableOption "sound based on pipewire"; }; config = lib.mkIf cfg.enable { sound.enable = true; hardware.pulseaudio.enable = false; security.rtkit.enable = true; services.pipewire = { enable = true; alsa.enable = true; alsa.support32Bit = true; pulse.enable = true; jack.enable = true; }; # TODO: Find a better way to set the default volume <2024-03-10> # # environment.etc.pipewire-pulse-config = { # target = "pipewire/pipewire-pulse.conf.d/pipewire-pulse-config.conf"; # text = '' # # Extra scripts can be started here. Setup in default.pa can be moved in # # a script or in pulse.cmd below # context.exec = [ # { path = "${pkgs.pulseaudio}/bin/pactl" args = "set-sink-volume 0 13%" } # ] # ''; # }; }; }