.hive/modules/hardware/sound.nix

33 lines
798 B
Nix

{
config,
lib,
...
}: let
cfg = config.hive.sound;
in {
options = {
hive.sound.enable = lib.mkOption {
type = lib.types.bool;
default = false;
description = "Enable sound with pipewire.";
};
};
config = lib.mkIf cfg.enable {
# Enable sound with pipewire.
services.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
# If you want to use JACK applications, uncomment this
#jack.enable = true;
# use the example session manager (no others are packaged yet so this is enabled by default,
# no need to redefine it in your config for now)
#media-session.enable = true;
};
};
}