{ 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; }; }; }