feat(modules): hardware modules — intel/amd/nvidia/audio/bluetooth/touchpad
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
0ca8dd3929
commit
620af4f502
8 changed files with 831 additions and 0 deletions
48
modules/hardware/audio.nix
Normal file
48
modules/hardware/audio.nix
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
inherit (lib) mkEnableOption mkIf;
|
||||
in
|
||||
{
|
||||
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 = { };
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue