42 lines
822 B
Nix
42 lines
822 B
Nix
{ config, lib, pkgs, ... }:
|
|
|
|
with lib;
|
|
|
|
{
|
|
options.hardware.audio.pipewire.enable = mkEnableOption "PipeWire audio system";
|
|
|
|
config = mkIf config.hardware.audio.pipewire.enable {
|
|
# PipeWire configuration
|
|
security.rtkit.enable = true;
|
|
|
|
services.pipewire = {
|
|
enable = true;
|
|
alsa.enable = true;
|
|
alsa.support32Bit = true;
|
|
pulse.enable = true;
|
|
jack.enable = true;
|
|
};
|
|
|
|
# Audio packages
|
|
environment.systemPackages = with pkgs; [
|
|
# Audio control
|
|
pavucontrol
|
|
pulsemixer
|
|
alsamixer
|
|
|
|
# Audio tools
|
|
audacity
|
|
pulseaudio
|
|
|
|
# Bluetooth audio
|
|
bluez
|
|
bluez-tools
|
|
];
|
|
|
|
# Disable PulseAudio (conflicts with PipeWire)
|
|
services.pulseaudio.enable = false;
|
|
|
|
# Audio group for user
|
|
users.groups.audio = {};
|
|
};
|
|
} |