{
  pkgs,
  lib,
  config,
  ...
}:
with lib;
{
  environment.systemPackages = [
    pkgs.pulseaudio # for pactl when using pipewire
  ];

  # rtkit is optional but recommended
  security.rtkit.enable = mkDefault config.services.pipewire.enable;
  hardware.pulseaudio.enable = false;
  services.pipewire = {
    enable = true;
    alsa.enable = mkDefault true;
    alsa.support32Bit = mkDefault true;
    pulse.enable = mkDefault true;
  };
}