{ config, lib, pkgs, username, ... }: let cfg = config.sys.core.audio; in { options.sys.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; }; playerctld.enable = true; spotifyd.enable = true; }; security.rtkit.enable = true; hardware.enableAllFirmware = true; environment.systemPackages = with pkgs; [ helvum alsa-utils ]; home-manager.users.${username}.hm.soft.easyeffects.enable = true; }; }