grimm-nixos-laptop/common/sound.nix

35 lines
818 B
Nix

{ grimm-shared-inputs, pkgs, config, lib, ... }:
let
cfg = config.grimmShared;
in
{
config = with cfg; lib.mkIf (enable && sound) {
sound.enable = true;
hardware.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
jack.enable = true; # osu uses jack
lowLatency.enable = true;
systemWide = true; # required for spotifyd as spotifyd runs as the spotifyd user
};
environment.systemPackages = with pkgs; [
pwvucontrol
playerctl
openal
flite
pulseaudio
];
};
options.grimmShared.sound = with lib; mkOption {
type = types.bool;
default = false;
description = "whether to enable sound";
};
}