35 lines
818 B
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";
|
|
};
|
|
}
|