diff options
| author | adikro <adikro@disroot.org> | 2026-01-08 20:40:35 +0100 |
|---|---|---|
| committer | adikro <adikro@disroot.org> | 2026-01-08 20:40:35 +0100 |
| commit | 5d0f2554cf56459b0afd27d3ed437a7fa50602a9 (patch) | |
| tree | bfaa6a1f79e942f54db2bc76cb47a8771b9c8f3e /os/core/audio.nix | |
| parent | 5b074f906a954ac25805ce6cbcbf7568cd97dafc (diff) | |
some modularization
Diffstat (limited to 'os/core/audio.nix')
| -rw-r--r-- | os/core/audio.nix | 56 |
1 files changed, 35 insertions, 21 deletions
diff --git a/os/core/audio.nix b/os/core/audio.nix index 8d44375..0290b6c 100644 --- a/os/core/audio.nix +++ b/os/core/audio.nix @@ -3,27 +3,41 @@ let cfg = config.os.core.audio; in { - options.os.core.audio.enable = lib.mkEnableOption "audio support"; - config = lib.mkIf cfg.enable { - services = { - pipewire = { - enable = true; - audio.enable = true; - pulse.enable = true; - alsa.enable = true; - alsa.support32Bit = true; - jack.enable = true; - wireplumber.enable = true; + options.os.core.audio = { + enable = lib.mkEnableOption "audio support"; + disable-devices.enable = lib.mkEnableOption "disables some random devices cluttering up"; + }; + config = lib.mkMerge [ + (lib.mkIf cfg.enable { + services = { + pipewire = { + enable = true; + audio.enable = true; + pulse.enable = true; + alsa.enable = true; + alsa.support32Bit = true; + jack.enable = true; + wireplumber.enable = true; + }; + playerctld.enable = true; + spotifyd.enable = true; }; - playerctld.enable = true; - spotifyd.enable = true; - }; - security.rtkit.enable = true; - hardware.enableAllFirmware = true; + security.rtkit.enable = true; + hardware.enableAllFirmware = true; - environment.systemPackages = with pkgs; [ - helvum - alsa-utils - ]; - }; + environment.systemPackages = with pkgs; [ + helvum + alsa-utils + ]; + }) + (lib.mkIf cfg.disable-devices.enable { + services.pipewire.wireplumber.extraConfig."99-disable-useless-devices"."monitor.alsa.rules" = [{ + matches = [ + { "device.name" = "~alsa_card.pci-0000_03_00.1*"; } + { "device.description" = "~USB Audio*"; } + ]; + actions.update-props = { "device.disabled" = true; }; + }]; + }) + ]; } |
